Código query::
Ver originalSELECT 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 originalCREATE 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é????