Código query::
Ver original
SELECT salidas. * , unid_med.*, almacenistas.* FROM salidas, unid_med, almacenistas WHERE salidas.clave_salida = 'SX/09-0001' AND salidas.fk_unidad = unid_med.id_unidad AND salidas.fk_almacenista_s = almacenistas.id AND salidas.fk_almacenista_e = almacenistas.id
y mis tablas son:
Código tablas:
Ver original
CREATE TABLE `almacenistas` ( `id` int(3) unsigned NOT NULL auto_increment, `nombre` varchar(25) NOT NULL, `apellidos` varchar(35) NOT NULL, `lada` int(3) unsigned NOT NULL, `tel` int(7) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ; INSERT INTO `almacenistas` VALUES (1, 'santiago', 'perez', 993, 1232111); INSERT INTO `almacenistas` VALUES (2, 'JESUS MANUEL (TRINO)', 'LOPEZ', 993, 1232123); INSERT INTO `almacenistas` VALUES (3, 'RENE', 'CARRILLO', 999, 9999999); CREATE TABLE `salidas` ( `id_salida` int(4) NOT NULL auto_increment, `clave_salida` varchar(10) NOT NULL, `fecha` date NOT NULL, `fk_unidad` int(3) unsigned NOT NULL, `fk_almacenista_s` int(3) unsigned NOT NULL, `fk_almacenista_e` int(3) unsigned NOT NULL, PRIMARY KEY (`id_salida`,`clave_salida`), KEY `fk_unidad` (`fk_unidad`), KEY `fk_almacenista_e` (`fk_almacenista_e`), KEY `fk_almacenista_s` (`fk_almacenista_s`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ; -- -- Volcar la base de datos para la tabla `salidas` -- ALTER TABLE `salidas` ADD CONSTRAINT `salidas_ibfk_2` FOREIGN KEY (`fk_unidad`) REFERENCES `unid_med` (`id_unidad`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `salidas_ibfk_3` FOREIGN KEY (`fk_almacenista_e`) REFERENCES `almacenistas` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `salidas_ibfk_4` FOREIGN KEY (`fk_almacenista_s`) REFERENCES `almacenistas` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; INSERT INTO `salidas` VALUES (1, 'SF/09-0270', '2009-10-27', 16, 3, 1); INSERT INTO `salidas` VALUES (2, 'SX/09-0001', '2009-10-29', 69, 3, 2); CREATE TABLE `unid_med` ( `id_unidad` int(3) unsigned NOT NULL auto_increment, `unidad` int(5) unsigned zerofill NOT NULL, `nom_unidad` varchar(55) NOT NULL, `responsable` varchar(35) NOT NULL, `administrador` varchar(35) NOT NULL, PRIMARY KEY (`id_unidad`,`unidad`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=96 ; -- -- Volcar la base de datos para la tabla `unid_med` -- INSERT INTO `unid_med` VALUES (1, 00001, 'SECRETARIO DE SALUD', 'LIC. MARCO ANTONIO MARTINEZ RODAS', 'MARCO ANOTONIO MARTINEZ'); INSERT INTO `unid_med` VALUES (2, 00001, 'SECRETARIO DE SALUD', 'NELLY HERRERA CONCHA', 'NELLY HERRERA CONCHA'); INSERT INTO `unid_med` VALUES (3, 00002, 'SECRETARIA PARTICULAR', 'LIC. MARCO ANTONIO MARTINEZ RODAS', 'ALDA OFELIA SANCHEZ DE'); INSERT INTO `unid_med` VALUES (4, 00003, 'SUBSECRETARIA DE SERVICIOS DE SALUD', 'DR. CARLOS M. DE LA CRUZ ALCUDIA', 'LAE JULIANA MENDEZ HIDALGO'); INSERT INTO `unid_med` VALUES (5, 00004, 'SUBSECRETARIO DE SALUD PUBLICA', 'DR. ALFONSO RODRIGUEZ LEON', 'LAE. ROGER PEREZ SANCHEZ'); INSERT INTO `unid_med` VALUES (6, 00005, 'DIRECCION DE PROGRAMAS PREVENTIVOS', 'DR. RAMON DE JESUS VELARDE AYALA', 'LA. CARLOS ENRIQUE ACOSTA'); INSERT INTO `unid_med` VALUES (7, 00006, 'DIRECCION DE PROTECCION CONTRA RIESGOS S', 'DR. RAUL GONZALEZ LOAIZA', 'ING. GEORGE G. CUXIN OCH');
NOTA: La consulta si se genera si hago esto:
SELECT salidas. * , unid_med.*, almacenistas.*
FROM salidas, unid_med, almacenistas
WHERE salidas.clave_salida = 'SX/09-0001'
AND salidas.fk_unidad = unid_med.id_unidad
AND salidas.fk_almacenista_e = almacenistas.id
pero si le pongo esta linea:
AND salidas.fk_almacenista_s = almacenistas.id ya no se genera!!!!
Por qué????