Am Sonntag, 9. November 2003 21:04 schrieb Arndt Stedler:
Hallo, Ich habe ein reines SQL-Problem und dachte vieleicht kann mir jemand einen Tipp geben:
Eine Abfrage folgender Art geht nicht in MySQL: SELECT Spalte1 FROM Tabelle1 WHERE Spalte1 NOT IN ( SELECT Spalte1 from Tabelle2 ); geht das mit irgendeinem Right|Left inner|outer join?
mysql kann keine Inline-Selects. Am ehesten geht das noch mit einem outer join: select spalte1 from tabelle1 outer join tabelle2 where tabelle1.spalte1=tabelle2.spalte1 and tabelle1.spalte1 is null; Bei der Syntax musst Du mal nachgucken - der Trick ist, einen outer join zu machen (der ja alle Spalten liefert, die in tabelle1 _oder_ tabelle2 drin sind) und dann die zu selektieren, für die keine Treffer in tabelle1 vorhanden sind - wo also der join NULL zurückliefert. Du hast verloren, wenn tabelle1.spalte1 auch NULL-Values enthalten kann. Jan P.S.: Steig auf ne richtige Datenbank um ;)