que tal amigos tengo las siguientes 3 tablas
Código PHP:
CREATE TABLE `estudiante` (
`idestudiante` int(10) unsigned NOT NULL auto_increment,
`correo` varchar(65) default NULL,
`usuario_idusuario` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`idestudiante`)
) TYPE=MyISAM AUTO_INCREMENT=37 ;
INSERT INTO `estudiante` VALUES (1, 'estudainteaws.com', 91654123);
INSERT INTO `estudiante` VALUES (2, 'elpopularpirishotmail.com', 91519095);
INSERT INTO `estudiante` VALUES (3, 'freddyhotmail.com', 91654546);
CREATE TABLE `estudiantegrupo` (
`idestudiantegrupo` int(10) unsigned NOT NULL auto_increment,
`grupo_idgrupo` int(10) unsigned NOT NULL default '0',
`estudiante_idestudiante` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`idestudiantegrupo`),
KEY `fkestudiante` (`estudiante_idestudiante`),
KEY `fkgrupo` (`grupo_idgrupo`)
) TYPE=MyISAM AUTO_INCREMENT=5 ;
INSERT INTO `estudiantegrupo` VALUES (1, 1, 1);
INSERT INTO `estudiantegrupo` VALUES (2, 1, 2);
INSERT INTO `estudiantegrupo` VALUES (3, 1, 3);
INSERT INTO `estudiantegrupo` VALUES (4, 7, 2);
CREATE TABLE `usuario` (
`idusuario` varchar(20) NOT NULL default '',
`nombre` varchar(45) default NULL,
`apellido` varchar(45) default NULL,
`login` varchar(20) default NULL,
`pass` varchar(40) default NULL,
`perfil` int(10) unsigned default NULL,
PRIMARY KEY (`idusuario`)
) TYPE=MyISAM;
INSERT INTO `usuario` VALUES ('91519095', 'Jorge Hernando', 'Duarte', 'piris', 'fb3c94c67583056ed0c993cb60e8548b', 3);
INSERT INTO `usuario` VALUES ('91654123', 'estudiante', 'estudiante', 'estudiante', 'f84b437e1ce2643aa5572ad53dd7d4ce', 3);
INSERT INTO `usuario` VALUES ('171717171', 'freddy', 'mantilla', 'freddy1', 'a0137aae1e07f922372b7b5ca71a4ff9', 4);
y quiero visualizar todos los estudiantes que se encuentran en la tabla estudiantegrupo pero menos los que esten en el grupo 1, sin importar si estan en otro grupo, lo hago con la siguiente consulta que usa subconsulta
Código PHP:
select e.idestudiante as id,u.idusuario as documento,u.nombre as nombre,u.apellido as apellido,e.correo as correo
from usuario u join estudiante e on u.idusuario = e.usuario_idusuario
left join estudiantegrupo k on e.idestudiante = k.estudiante_idestudiante
where (k.grupo_idgrupo is null or k.grupo_idgrupo != '1') and e.idestudiante not in (select estudiante_idestudiante from estudiantegrupo where grupo_idgrupo = '1')
group by e.idestudiante
order by e.idestudiante asc
lo uso en un servidor con mysql 5.0 y funciona correctamente, el problema es que tengo que hacerlo funcionar en mysql 4.0 y no sirven subconsultas, no puedo optar por aztualizar al version pro que eso no esta en mis manos.... asi que no se como hacerlo...., ya que si quito la subconsulta me muestra todos los estudiantes que menos los que estan en el grupo 1, pero si hay uno de esos mismos que esta en el grupo 2 tamb lo muestra...
bueno muchas gracias de antemano alq ue pueda ayudarme