left join en tablas multiples

J

Buenas, ayuda pf con el siguiente caso:
Mis tablas:
tabla_a, tabla_b, tabla_c

Requiero extraer información dela tabla b y c con respecto a la tabla a de esta forma:

tabla_a.PK = tabla_b.PK
tabla_a.PK = tabla_c.PK

Pasa que requiero extraer todos los datos de la tabla B que coincida con la tabla A, y a la vez extraer todos los datos de la tabla C que coincida con la tabla A

Pensé en algo así:

SELECT campo1,campo2
FROM TABLA_A
LEFT JOIN TABLA_B ON TABLA_A.PK = TABLA_B.PK
LEFT JOIN TABLA_C ON TABLA_A.PK = TABLA_C.PK

Mi consulta es, esto me extrae todos los valores que coincidan en las tablas B y C? o me extraera el cruce de la tabla B independientemente de la tabla C?

la segunda opción requiero

P

Tal como esta la sentencia te extrae el contenido de ambas tablas. Vamos justo lo que quieres..

No obstante es fácil de probar, abres phpmyadmin o work Bench, y pruebas la sentencia y experimentas que es la mejor opción para aprender.

Saludos

Ranthas

Pero vamos a ver.

#1jlopezr:

Pasa que requiero extraer todos los datos de la tabla B que coincida con la tabla A, y a la vez extraer todos los datos de la tabla C que coincida con la tabla A

Si quieres esto, necesitas un INNER JOIN, no un left.

  • A inner B -> todos los registros de A que esten en B.
  • A left B -> todos los registros de A que estén en B, y todos los de A que no estén en B.
  • A right B -> todos los registros de B que estén en A, y todos los de B que no estén en A.

Se nota que vienen los examenes

1
16 días después
HelThunk

Te dejo esta imagen que es perfecta:

*Parte roja los datos que coges

Usuarios habituales