MySQL Forums
Forum List  »  German

Schnittmenge in WHERE-clause?
Posted by: Daniel Jonas
Date: January 10, 2009 03:03PM

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

Options: ReplyQuote


Subject
Views
Written By
Posted
Schnittmenge in WHERE-clause?
7926
January 10, 2009 03:03PM
4124
January 10, 2009 05:21PM
2842
January 14, 2009 08:26AM
3076
January 27, 2009 05:00PM


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.