Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta en 2 tablas

Estas en el tema de Consulta en 2 tablas en el foro de Mysql en Foros del Web. Hola Amigos. necesito algien mas experimetado que yo en mysql que me eche una ayudadita. tengo la siguentes tablas Código HTML: CREATE TABLE IF NOT ...
  #1 (permalink)  
Antiguo 24/09/2008, 11:59
Avatar de Killerx_8937  
Fecha de Ingreso: noviembre-2006
Mensajes: 99
Antigüedad: 17 años, 5 meses
Puntos: 0
Exclamación Consulta en 2 tablas

Hola Amigos.
necesito algien mas experimetado que yo en mysql que me eche una ayudadita.

tengo la siguentes tablas

Código HTML:
CREATE TABLE IF NOT EXISTS `HormEnsayos` (
  `Id` int(255) NOT NULL auto_increment,
  `CertNum` int(255) NOT NULL,
  `NumMuestra` varchar(255) NOT NULL,
  `EdadEns` int(255) NOT NULL,
  `FechaEnsayo` varchar(255) NOT NULL,
  `Ensayado` varchar(255) NOT NULL default 'No',
  `LabEn` varchar(255) NOT NULL,
  `FeEn` varchar(255) NOT NULL,
  PRIMARY KEY  (`Id`)
);
Código HTML:
CREATE TABLE IF NOT EXISTS `Hormigones` (
  `Id` int(6) NOT NULL auto_increment,
  `CertNum` int(6) default '0',
  `Obra` varchar(255) default '',
  `Mandante` varchar(255) default NULL,
  `Probeta` varchar(255) default NULL,
  `Dimension` varchar(255) default NULL,
  `Resistencia` varchar(255) default NULL,
  `FechaConfec` varchar(255) default NULL,
  `Ficha` varchar(10) NOT NULL default 'NG',
  `Terminado` varchar(255) NOT NULL default 'No',
  `LabTer` varchar(255) character set utf8 collate utf8_spanish_ci default NULL,
  `FeTer` varchar(255) character set utf8 collate utf8_spanish_ci default NULL,
  `FechaEntrega` varchar(255) character set utf8 collate utf8_spanish_ci default NULL,
  `Observaciones` varchar(255) default NULL,
  `FechaIngreso` varchar(255) NOT NULL default '1162522800',
  `UsuarioIngreso` varchar(255) NOT NULL default 'Patricio',
  PRIMARY KEY  (`Id`)
)
y tengo que buscar por el numero de muestra de la primera

Código HTML:
SELECT HorEnsayos.CertNum FROM `HormEnsayos` WHERE `NumMuestra` like '%10501%'
bueno con el resultado de esta necesito hacer una consulta en otra tabla Hormigones consultando por cada CertNum que encuentre la primera y estrayenco cada registro de la misma

Alguna Idea..


o que alguien me eche una ayuda con la union de dos select...

Última edición por Killerx_8937; 24/09/2008 a las 12:06
  #2 (permalink)  
Antiguo 25/09/2008, 08:13
Avatar de the_scorpion  
Fecha de Ingreso: mayo-2006
Ubicación: Cuba
Mensajes: 696
Antigüedad: 18 años
Puntos: 3
Respuesta: Consulta en 2 tablas

Hola
no se si sera este tu resultado pero para eso lo que puedes usr es una INNER JOIN

select tabal1.campo1, tabla1.campo2, tabalo2.campo1, tabla2.campo from tabla1 inner join tabla2 where tabla1.campo1 = tabla2.campo1

creo que por hay es el problema tuyo a resolver.

veamos que dicen los demas aqui

suerte
__________________
Que hablen mal de uno es espantoso. Pero hay algo peor: que no hablen.
Quien hace, puede equivocarse. Quien nada hace, ya está equivocado".
  #3 (permalink)  
Antiguo 25/09/2008, 09:07
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Consulta en 2 tablas

Esto funcionará con versiones de MySQL 4.1 o posteriores

SELECT * FROM Hormigones h WHERE h.CertNum IN
(SELECT HorEnsayos.CertNum FROM `HormEnsayos` WHERE `NumMuestra` like '%10501%')

Para mostrar sólo una, la primera, deberías agrupar por CertNum

SELECT * FROM Hormigones h WHERE h.CertNum IN
(SELECT HorEnsayos.CertNum FROM `HormEnsayos` WHERE `NumMuestra` like '%10501%') GROUP BY h.CertNum

Si tu versión de MySqL es anterior, intentaremos hacerlo sin subconsultas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:34.