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

como hago este left join???

Estas en el tema de como hago este left join??? en el foro de PostgreSQL en Foros del Web. Hola amigos aca yo de nuevo les cuento, tengo las siguientes tablas: niño, padre, madre, familia y familia por hijos, como hago el join para ...
  #1 (permalink)  
Antiguo 20/04/2009, 11:28
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 4 meses
Puntos: 0
como hago este left join???

Hola amigos aca yo de nuevo les cuento, tengo las siguientes tablas:
niño, padre, madre, familia y familia por hijos, como hago el join para obtener al padre y la madre del niño donde:

tabla padre tiene como pk rut_padre, tabla madre tiene como pk rut_madre, tabla familia tiene id_familia, rut_padre, rut_madre y la tabla familia_x_hijos tiene; id_familia, id_nino.

Mi consulta es como lo hago para obtener el select con con los datos del niño y a la familia a la q pertenece este niño??? es decir como lo hago para obtener los datos del niño y para obtener los datos de los padres con los q vive el niño?? porfavor amigo ruego por su ayuda es urgente!!!! de antemano gracias.... bye
  #2 (permalink)  
Antiguo 20/04/2009, 13:45
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: como hago este left join???

Podría ser algo así:

Código sql:
Ver original
  1. SELECT n.*, p.nombre, m.nombre FROM nino n INNER JOIN
  2. familia_x_hijos fxh ON n.id_nino = fxh.id_nino INNER JOIN familia f ON
  3. f.id_familia = fxh.id_familia INNER JOIN padre p ON p.rut_padre = f.rut_padre
  4. INNER JOIN madre m ON m.rut_madre = f.rut_madre WHERE n.id_nino = 'codigo';

Se puede conbinar con left join para mostrar padres o madres, en caso de que los dos no hagan parte de una familia.

Espero te sirva.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
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 13:26.