wow! bin beeindruckt und beschämt zugleich!
die Abfrage löst echt das olga-problem! ich hatte zwar
sehr ähnliche Ansätze, bin aber irgendwie
in einer endlosen try and error-Schleife hängengeblieben...
Aber ich glaub ich kann das nicht
auf meine eigentliche Datenstrucktur anwenden, da
ich in der Zuordnungstabelle (book_contains_object = projekt_mitarbeiter)
nicht die information über die Ausgabe (issue = project) habe. Die muss
ich erst durch weitere JOINS herausfinden:
Code:
SELECT
o.id, o.title
FROM
object o
JOIN
book_contains_object bco ON bco.object_id = o.id
JOIN
book b ON bco.book_id = b.id
JOIN
volume v ON b.volume_id = v.id
JOIN
issue i ON v.issue_id = i.id AND i.id = 1
LEFT JOIN
issue i2 ON v.issue_id = i2.id AND i2.id != 1
WHERE
i2.id IS NULL
so kommt ja immer das gleiche raus. LEFT JOIN und WHERE
kann ich auch wegmachen... oder ich stell mich erneut saudumm an!
Datenmodel:
Code:
[ISSUE] 1:n [VOLUME] 1:n [BOOK] n:m [BOOK_CONTAINS_OBJECT] n:m [OBJECT]
Die Frage lautet:
- Gib mir alle Objekte, die in Issue A sind, aber nicht auch in Issue B
evtl. komm ich also um einen Workaround doch nicht drum rum...
aber vielen dank für die Mühe!!!
j.