Schnittmenge in WHERE-clause?
hi,
ich habe 2 Tabellen (t1,t2), welche m:n ueber eine Relationstabelle (tmn) verknuepft sind. Jede id-Kombination darf in tmn nur einmal vorkommen.
Die Menge der ids aus t2 stehen fuer die Abfrage fest. ..nennen wir die Menge mal m.
Ich moechte nun alle Datensaetze aus t1, fuer deren id es in tmn eine Zuordnung zu jeder id in m gibt.
ich habe es nur auf eine Art hinbekommen.
zB fuer m = (1,4,8)
SELECT * FROM t1 WHERE
id IN (SELECT id_t1 FROM tmn WHERE id_t2 = 1)
AND
id IN (SELECT id_t1 FROM tmn WHERE id_t2 = 4)
AND
id IN (SELECT id_t1 FROM tmn WHERE id_t2 = 8)
da ich das Statement in delphi zusammenbaue zwar moeglich, aber es muss doch auch einfacher und ressourcenschonender gehen.
mein GoogleFoo hat mir nicht weitergeholfen. hat jemand ne Idee?
danke,
gruss dj
Subject
Views
Written By
Posted
Schnittmenge in WHERE-clause?
7926
January 10, 2009 03:03PM
3337
January 10, 2009 04:48PM
4124
January 10, 2009 05:21PM
2938
January 13, 2009 06:35AM
2842
January 14, 2009 08:26AM
2829
January 16, 2009 03:47PM
3076
January 27, 2009 05:00PM
2735
January 28, 2009 06:53AM
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion
of Oracle or any other party.