Título: [SQL] Problema con consulta Publicado por: darknlee en 28 Enero 2014, 19:06 pm Hola quería ver si me podéis echar una mano con una consulta SQL que me está costando sacar.
Tengo 2 tablas, Users y Groups_Users Tabla Users: id, nombre, apellidos etc. Tabla Groups_Users: idGrupo, idUsuario El caso es que necesito obtener los usuarios que NO estén en ningún grupo o que estén en el grupo distinto al especificado. La consulta que estoy utilizando es la siguiente pero no me funciona: Código: SELECT u.id, u.nombre FROM [Users] u LEFT JOIN Groups_Users g ON u.id=g.idUsuario WHERE g.idUsuario IS NULL OR g.idGrupo<>1; //Por ejemploLa primera parte es correcta porque me trae los que no están en ningún grupo, es decir hasta aquí bien: Código: SELECT u.id, u.nombre FROM [Users] u LEFT JOIN Groups_Users g ON u.id=g.idUsuario WHERE g.idUsuario IS NULL La segunda parte es en la que tengo problemas. PD: Estoy en SQL Server. Un saludo Título: Re: [SQL] Problema con consulta Publicado por: 1mpuls0 en 28 Enero 2014, 19:32 pm Podrías colocar un ejemplo para poder ver que es lo que necesitas exactamente.
Por lo que entiendo, esto debe funcionarte a menos que te yo este mal entendiendo el problema o no lo hayas explicado correctamente. Código
Título: Re: [SQL] Problema con consulta Publicado por: darknlee en 28 Enero 2014, 21:15 pm Hola Darhius, antes de nada te agradezco mucho la respuesta, voy a poner un ejemplo porque igual no me he explicado correctamente.
Tengo el siguiente registro en la tabla Users: id Nombre Apellidos ------------------------------ 1 Perico Palotes 2 Paco Gómez 3 Roberto García En la tabla Groups_Users ( 1 usuario puede pertecenecer a 0 o a muchos grupos) idGrupo idUsuario ---------------------- 1 1 2 3 3 1 Lo que quiero es realizar una consulta que me devuelva tanto los usuarios que no están en ningún grupo como los que no pertenecen a un grupo determinado, es decir que si lanzo la consulta de tal forma que me de los usuarios que no pertenecen al grupo 1 y a ningún grupo me de la siguiente salida: id Nombre Apellidos ------------------------------ 2 Paco Gómez 3 Roberto García (omitiendo al usuario con id 1 porque uno de los grupos a los que pertenece es el grupo 1) Un saludo, Título: Re: [SQL] Problema con consulta Publicado por: Shell Root en 28 Enero 2014, 21:21 pm No recuerdo mucho esto, pero espero no ser un tonto al decir que: quizás con un LEFT JOIN o RIGHT JOIN puedas obtener esos resultados. Es decir, -dependiendo del canal de retorno-
Código ó Código
Pruba a ver que canal es, Título: Re: [SQL] Problema con consulta Publicado por: 1mpuls0 en 29 Enero 2014, 00:05 am El caso es que necesito obtener los usuarios que NO estén en ningún grupo o que estén en el grupo distinto al especificado. e quiero es realizar una consulta que me devuelva tanto los usuarios que no están en ningún grupo como los que no pertenecen a un grupo determinado, es decir que si lanzo la consulta de tal forma que me de los usuarios que no pertenecen al grupo 1 y a ningún grupo me de la siguiente salida: Ten más cuidado con lo que escribes porque se puede mal interpretar, tal y como lo hice yo.. por eso pedía un ejemplo, bueno ahora que lo tengo veamos que se puede hacer. Edito: Segun yo, con esto debe quedar xD Código
Título: Re: [SQL] Problema con consulta Publicado por: HdM en 29 Enero 2014, 12:26 pm Otra opción podría ser:
Código
Título: Re: [SQL] Problema con consulta Publicado por: darknlee en 29 Enero 2014, 14:19 pm Ten más cuidado con lo que escribes porque se puede mal interpretar, tal y como lo hice yo.. por eso pedía un ejemplo, bueno ahora que lo tengo veamos que se puede hacer. Toda la razón, es que me pasé de sol a sol programando y ya no sé ni lo que puse. Muchísimas gracias a todos por vuestra ayuda, especialmente a ti Darhius ahora si que si. ;-) |