Ik zit met een probleempje waar ik maar niet uitkom. Ik ben bezig met een plan systeem en ziet er uit als volgt.
Ik heb vier tabellen, te weten
objects(id, name) //objecten waarvoor taken uitgevoerd moeten worden.
taskdefinitions(id, name) //Gedefinieerde taken
object_taskdefinitions (object_id, task_def_id)
tasks(id, objectid, task_def_id)
Nu wil ik weten welke object / taskdefinitions combinaties er zijn die nog niet in de tasks tabel voorkomen.
Ik ben gekomen tot:
maar dit geeft me (uiteraard) niet de juiste resultaat. Hier krijg ik een lijst van taakdefinitiies welke niet voorkomen in de task tabel, zonder dat er rekening wordt het gehouden met de combinate van taskdefinition id en object id.
Ik heb vier tabellen, te weten
objects(id, name) //objecten waarvoor taken uitgevoerd moeten worden.
taskdefinitions(id, name) //Gedefinieerde taken
object_taskdefinitions (object_id, task_def_id)
tasks(id, objectid, task_def_id)
Nu wil ik weten welke object / taskdefinitions combinaties er zijn die nog niet in de tasks tabel voorkomen.
Ik ben gekomen tot:
SQL:
1
2
3
4
5
| select td.* from objects s, taskdefinitions td, objects_taskdefinitions ot where s.id = ot.objectid and ot.taskdefinitionid = td.id and (ot.taskdefinitionid not in (select t.taskdefinitionid from tasks t) and ot.objectid not in (select t.objectid from tasks t)); |
maar dit geeft me (uiteraard) niet de juiste resultaat. Hier krijg ik een lijst van taakdefinitiies welke niet voorkomen in de task tabel, zonder dat er rekening wordt het gehouden met de combinate van taskdefinition id en object id.
edit:
roep even als het niet duidelijk is, dan geef ik een voorbeeldje
roep even als het niet duidelijk is, dan geef ik een voorbeeldje
[ Voor 4% gewijzigd door Standeman op 10-04-2009 16:33 ]
The ships hung in the sky in much the same way that bricks don’t.