Si el error es el que supones, pero tienes otro de fondo.
Para normalizar la bbdd te falta una tabla...!!!
La relación entre PRESENTACIONES y AREAS és muchos a muchos, n a n, cada presentación se puede presentar n areas y cada area puede recibir n presentaciones... luego la estructura es la siguiente
PRESENTACIONES
- id
- nombre
SESIONES
- presentacion_id
- area_id
- fecha
AREAS
- id
- nombre
TRABAJOS
- id
- nombre
- area_id
La nueva tabla SESIONES recoge el id de la presentación y el id de area de manera que puedes representar la relación n a n. He puesto un campo Fecha puesto que creo que podria ser relvante y para demostrar que crear la nueva tabla además nos permite guardar una información que antes no podiamos guardar....
Si tienes esta estructura tu consulta se resuelve facil....
Código sql:
Ver originalSELECT tr.id, tr.nombre
FROM trabajos tr
LEFT JOIN SESIONES ses
ON tr.area_id=ses.area_id
WHERE ses.presentacion_id=1
PRESENTACIONES
[1] [Presentacion Prueba]
SESIONES
[1][1][2009-09-24]
[1][2][2009-09-25]
AREAS
[1] [AREA UNO]
[2] [AREA DOS]
[3] [AREA TRES]
TRABAJOS
[1] [TRABAJO UNO] [1]
[2] [TRABAJO DOS] [2]
[3] [TRABAJO TRES] [3]
trabajos tr LEFT JOIN SESIONES ses ON tr.area_id=ses.area_id
[1] [TRABAJO UNO]
[1][1]
[1][2009-09-24]
[2] [TRABAJO DOS]
[2][1]
[2][2009-09-25]
[3] [TRABAJO TRES] [3][null][null][null]
WHERE ses.presentacion_id=1
[1] [TRABAJO UNO] [1]
[1][1][2009-09-24]
[2] [TRABAJO DOS] [2]
[1][2][2009-09-25]
SELECT tr.id, tr.nombre
[1] [TRABAJO UNO]
[2] [TRABAJO DOS]
Si?
Quim