Buenas Tardes, tengo una duda dudosa y estoy mareado.
Tengo tres tablas:
- Personas:
Código:
ID NOMBRE
1 Pedro
2 Juan
3 Luis
4 Mario
- areas:
Código:
ID AREA
1 AUTOS
2 CAMIONETAS
3 MOTOS
- asignaciones:
Código:
ID ID_PERSONA ID_AREA
1 1 1
2 2 1
3 2 2
Estructura de las tablas:
ID en todas las tablas es un campo auto numérico, la tabla asignaciones captura que persona y que áreas tiene asignadas, si trabaja con uno, dos o tres áreas, no se repiten.
Si se fijan en la tablas asignaciones tengo en
ID_PERSONA a
Juan dos veces, porque se le asignaron el área 1 (AUTOS) y el 2 (CAMIONETAS).
Sucede que quiero hacer una query, donde pueda cruzar la tabla
areas con las asignaciones, si hago el JOIN con la persona 2 (JUAN), me va a mostrar dos resultados.
el de AUTOS y el de CAMIONETAS, pero quiero además que me salga el de MOTOS, pero indicando que es NULL porque el cruce no arroja nada.
¿Como sería la consulta?
como ejemplo, si hago esto:
Código:
SELECT * FROM areas AS a
LEFT JOIN asignaciones AS b ON a.ID=b.ID_PERSONA
WHERE b.ID_PERSONA=2
me arroja dos registros, pero quiero tener los 3 que salen en
area he indicando que el de MOTOS tiene valores NULL
Agradezco cualquier aporte.
salu2