Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/07/2012, 08:22
Avatar de Killerx_8937
Killerx_8937
 
Fecha de Ingreso: noviembre-2006
Mensajes: 99
Antigüedad: 17 años, 5 meses
Puntos: 0
Consulta en dos tablas

Estimados.

nuevamente debo resurrir a su experiencia e ingenio les cuento tengo 2 tablas.


Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `Equip_Equipos` (
  2.   `Equipos_Id` int(10) NOT NULL auto_increment,
  3.   `Equipos_Tipo` int(2) NOT NULL,
  4.   `Equipos_Marca` varchar(255) collate utf8_spanish_ci default NULL,
  5.   `Equipos_Provedor` varchar(255) collate utf8_spanish_ci default NULL,
  6.   `Equipos_FechaRcep` datetime NOT NULL,
  7.   `Equipos_FechaInicio` datetime NOT NULL,
  8.   `Equipos_Codigo` varchar(255) collate utf8_spanish_ci NOT NULL,
  9.   `Equipos_Rango` varchar(255) collate utf8_spanish_ci default NULL,
  10.   `Equipos_Resolucion` varchar(255) collate utf8_spanish_ci default NULL,
  11.   `Equipos_Estado` int(2) NOT NULL,
  12.   `Equipos_FechaEstado` datetime NOT NULL,
  13.   `Equipos_Area` int(2) NOT NULL,
  14.   `Equipos_Observaciones` varchar(255) collate utf8_spanish_ci default NULL,
  15.   `Equipos_ObservacionesEstado` varchar(255) collate utf8_spanish_ci default NULL,
  16.   `Equipos_Despacho` int(2) NOT NULL,
  17.   `Equipos_UsuarioCrea` varchar(50) collate utf8_spanish_ci NOT NULL,
  18.   `Equipos_FechaCrea` datetime NOT NULL,
  19.   `Equipos_UsuarioAct` varchar(50) collate utf8_spanish_ci default NULL,
  20.   `Equipos_FechaAct` datetime default NULL,
  21.   `Equipos_Ubicacion` int(2) NOT NULL,
  22.   `Equipos_Responsable` varchar(255) collate utf8_spanish_ci NOT NULL,
  23.   PRIMARY KEY  (`Equipos_Id`)
  24. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=6 ;
  25.  
  26.  
  27. INSERT INTO `Equip_Equipos` (`Equipos_Id`, `Equipos_Tipo`, `Equipos_Marca`, `Equipos_Provedor`, `Equipos_FechaRcep`, `Equipos_FechaInicio`, `Equipos_Codigo`, `Equipos_Rango`, `Equipos_Resolucion`, `Equipos_Estado`, `Equipos_FechaEstado`, `Equipos_Area`, `Equipos_Observaciones`, `Equipos_ObservacionesEstado`, `Equipos_Despacho`, `Equipos_UsuarioCrea`, `Equipos_FechaCrea`, `Equipos_UsuarioAct`, `Equipos_FechaAct`, `Equipos_Ubicacion`, `Equipos_Responsable`) VALUES
  28. (1, 12, 'Hevisa', 'Hevisa', '2012-07-18 00:00:00', '2012-07-18 00:00:00', 'S31', '0-3000 g', '0,01 g', 1, '2012-07-18 12:07:02', 1, 'Balanza Covery', '', 2, 'patricio', '2012-07-18 12:07:02', 'patricio', '2012-07-18 12:07:02', 1, 'Jefe Sala Ensayo'),
  29. (2, 12, 'Covery', 'Covery', '2012-07-17 00:00:00', '2012-07-17 00:00:00', 'S30', '0-3000 g', '0,01 g', 1, '2012-07-18 15:07:04', 1, '', '', 2, 'patricio', '2012-07-18 15:07:04', 'patricio', '2012-07-18 15:07:04', 1, 'Jefe Sala Ensayo'),
  30. (3, 16, 'Hevisa', 'Hevisa', '2012-07-18 00:00:00', '2012-07-11 00:00:00', 'S101', '0-50', '0.01"', 1, '2012-07-18 16:07:46', 1, '', '', 2, 'patricio', '2012-07-18 16:07:46', 'patricio', '2012-07-18 16:07:46', 1, 'Jefe Sala Ensayo'),
  31. (4, 2, 'Hevisa', 'Hevisa', '2012-07-17 00:00:00', '2012-07-17 00:00:00', 'S115', '0-3000 g', '0,01 g', 1, '2012-07-18 16:07:52', 1, '', '', 2, 'patricio', '2012-07-18 16:07:52', 'patricio', '2012-07-18 16:07:52', 1, 'Jefe Sala Ensayo'),
  32. (5, 9, 'Hevisa', 'Hevisa', '2012-07-18 00:00:00', '2012-07-18 00:00:00', 'S46', '0-3000 g', '0,01 g', 1, '2012-07-18 16:07:51', 1, '', '', 2, 'patricio', '2012-07-18 16:07:51', 'patricio', '2012-07-18 16:07:51', 1, 'Jefe Sala Ensayo');

y La segunda

Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `Equip_Ctrl` (
  2.   `Ctrl_Id` int(10) NOT NULL auto_increment,
  3.   `Ctrl_Tipo` int(2) NOT NULL,
  4.   `Ctrl_Codigo` varchar(255) collate utf8_spanish_ci NOT NULL,
  5.   `Ctrl_Periodo` int(2) NOT NULL,
  6.   `Ctrl_Rango` varchar(255) collate utf8_spanish_ci default NULL,
  7.   PRIMARY KEY  (`Ctrl_Id`)
  8. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=10 ;
  9.  
  10.  
  11. INSERT INTO `Equip_Ctrl` (`Ctrl_Id`, `Ctrl_Tipo`, `Ctrl_Codigo`, `Ctrl_Periodo`, `Ctrl_Rango`) VALUES
  12. (1, 1, 'S31', 4, '10g.20g.50g.100g.200g.500g.1000g.2000g.3000g.'),
  13. (2, 2, 'S31', 3, '500g.'),
  14. (3, 3, 'S31', 4, NULL),
  15. (4, 1, 'S30', 4, '500g.'),
  16. (5, 2, 'S30', 3, '500g.'),
  17. (6, 3, 'S30', 4, NULL),
  18. (7, 1, 'S101', 4, '500g'),
  19. (8, 2, 'S115', 3, '200g.'),
  20. (9, 3, 'S46', 4, NULL);

y pretendo hacer una busqueda que me muestre la informacion del equipo descrito en la primera tabla pero cuando cumpla con requisitos de la seguna ejemplo

que me muestre todos los equipos que posean Ctrl_Tipo 1, 2 y 3. se entiende ahora la consulta que tengo.


Código MySQL:
Ver original
  1. SELECT * FROM Equip_Equipos AS A INNER JOIN Equip_Ctrl AS B ON A.Equipos_Codigo=B.Ctrl_Codigo WHERE B.Ctrl_Tipo ='1' OR B.Ctrl_Tipo ='2' OR B.Ctrl_Tipo ='3' GROUP BY A.Equipos_Codigo

pero me devuelve todos los registros de la tabla uno, sin embargo cuando lo hago con un solo control funciona

Código MySQL:
Ver original
  1. SELECT * FROM Equip_Equipos AS A INNER JOIN Equip_Ctrl AS B ON A.Equipos_Codigo=B.Ctrl_Codigo WHERE B.Ctrl_Tipo ='1' GROUP BY A.Equipos_Codigo
..

Ideas?