Ver Mensaje Individual
  #10 (permalink)  
Antiguo 29/04/2005, 02:49
Avatar de Jose_minglein2
Jose_minglein2
 
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 20 años, 5 meses
Puntos: 8
Yo lo que hago es abreviar el nombre de las tablas para que no salga tan largo, es decir p.ej.

Select S.ServNombre From Servicios S

Con esto se reduce un montón el string, te recomiendo que si Access te lo permite, lo utilices.

Con respecto a tu problema, primero el distinct tienes que decir que distinct(ServNombre)

Veo también que al final solo estás cogiendo los que SI están concatenados, no?? los otros ya no los necesitas???

Segundo, si quieres mostrar solo p.ej. Lan/Wan Valdemoro, ten en cuenta, que vas a perder uno de los 2 valores de UsId, normalmente sólo pillará el último, es decir, te quedaría así:

ServNombr TipoNombre UsId
Lan/Wan Alcobendas Lan/Wan 3
Lan/Wan Valdemoro Lan/Wan 3
Lan/Wan Pozuelo Lan/Wan 3
Seguridad Valdemoro Seguridad 39
Seguridad Pozuelo Seguridad 3
Wifi Pozuelo Wifi 3

te quedaría si entiendo bien, lo que quieres hacer podrías hacer esto:

SELECT DISTINCT(concat(Servicios.ServNombre, TipoServicio.TipoNombre)), Servicios.ServNombre, TipoServicio.TipoNombre, Usuarios.UsId FROM (Clientes INNER JOIN Usuarios ON Clientes.UsIdCli = Usuarios.UsIdCli) INNER JOIN (TipoServicio INNER JOIN (Servicios INNER JOIN UsuariosServicios ON Servicios.ServId = UsuariosServicios.UsServIdServ) ON TipoServicio.TipoId = Servicios.ServIdTipo) ON Usuarios.UsId = UsuariosServicios.UsServIdUs WHERE (((Clientes.UsIdCli)=2));


con esto sólamente te saldrán una vez, pero como te digo perderás valores