Hola amigos, por favor me gustaria que me dieran una mano.
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 originalSELECT * 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 originalSELECT * 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.