Estoy realizando un pequeno proyecto y estoy trabajando con la parte de
usuarios,grupos.
Tengo tres tablas
- User
- Group
- Relacion (User,Group,Company);
-- Tabla User --
Código:
Codigo | Nombre | Company ------------------------------------- 1 Miguel 1 2 Juan 1 3 Pedro 2 CREATE TABLE `ejemplo`.`user` ( `Codigo` int(11) NOT NULL auto_increment, `Nombre` varchar(45) NOT NULL default '', `Company` int(11) NOT NULL default '0', PRIMARY KEY (`Codigo`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--- Tabla Group ---
Código:
Codigo | Nombre --------------------------- 1 Prueba_1 2 Prueba_2 CREATE TABLE `ejemplo`.`group` ( `Codigo` int(11) NOT NULL auto_increment, `Nombre` varchar(45) NOT NULL default '', PRIMARY KEY (`Codigo`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--- Tabla Relacion ---
Código:
User | Group | Company -------------------------------- 1 1 1 2 1 1 CREATE TABLE `ejemplo`.`relacion` ( `Codigo` int(11) NOT NULL auto_increment, `User` int(11) NOT NULL default '0', `Group` int(11) NOT NULL default '0', `Company` int(11) NOT NULL default '0', PRIMARY KEY (`Codigo`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
En el ejemplo de -- Tabla relacion-- Miguel y Juan estan en el grupo Prueba_1
Me gustaria saber como hacer el query de la base de datos , para saber los usuarios que prueba_1 contiene y cuales usuarios no estan presente en ese grupo.
Actualmente tengo este codigo
-- Este codigo supuestamente mostraria los usuarios que estan fuera del grupo Prueba_1 , el caso es que no funciona --
Código SQL:
Ver original
SELECT * FROM tb_user LEFT JOIN relacion ON USER.codigo = relacion.USER LEFT JOIN GROUP ON GROUP.codigo = 1 WHERE USER.company = 1 AND relacion.GROUP IS NULL
-- Este codigo supuestamente mostraria los usuarios que estan dentro del grupo Prueba_1 , el caso es que no funciona tampoco--
Código SQL:
Ver original
SELECT * FROM tb_user LEFT JOIN relacion ON USER.codigo = relacion.USER LEFT JOIN GROUP ON GROUP.codigo = 1 WHERE USER.company = 1 AND relacion.GROUP IS NULL
De ante mano muchas gracias.