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

Ayuda con consulta sql

Estas en el tema de Ayuda con consulta sql en el foro de Bases de Datos General en Foros del Web. Hola, Necesito generar un informe que muestre todos los registros de una tabla ademas en caso de existir registros en otras 2 tablas relacionadas tambien ...
  #1 (permalink)  
Antiguo 30/08/2005, 19:13
 
Fecha de Ingreso: julio-2004
Mensajes: 194
Antigüedad: 20 años, 4 meses
Puntos: 1
Ayuda con consulta sql

Hola,

Necesito generar un informe que muestre todos los registros de una tabla ademas en caso de existir registros en otras 2 tablas relacionadas tambien los muestre.

me explico mejor:

en una tabla tengo los datos del paciente (la que necesito que muestre todos los registros) otra tabla con los resultados de el examen de elisa y una con los resultados de otro examen de sangre llamado pal.

como deberia ser la consulta para que se muestren todos los regsitros de los pacientes y los resultados de elisa y pal. peude que tenga los datos del pal y no los de elisa o no tenga los del pal y si los de elisa.

espero entiendan lo que necesito hacer y puedan ayudarme

Saludos a todos y de antemano gracias.

PD. estoy usando PHP y MySQL
__________________
"Hay Algo Activo en el piso de Abajo..."

K-Seraph Blog
  #2 (permalink)  
Antiguo 31/08/2005, 02:12
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 20 años
Puntos: 8
Bien lo puedes hacer con left y right joins (creo), pero como no estoy muy seguro de como seía te pongo sería con unions (aunque es bastante más largo)

select a, '','' from pacientes where id_paciente not in (select paciente from elisa) and id_paciente not in (select paciente from pal)
union
select p.a, e.b, '' from pacientes p inner join elisa e on p.id_paciente=e.paciente where p.id_paciente not in (select paciente from pal)
union
select p.a, '', l.c from pacientes p inner join pal l on p.id_paciente=l.paciente where p.id_paciente not in (select paciente from elisa)
union
select p.a, e.b, l.c from pacientes p inner join pal l on p.id_paciente=l.paciente inner join elisa e on e.paciente=p.id_paciente


Espero que me hayas entendido.

Suerte.
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 23:17.