mysql unterabfragen

Erika

Aktives Mitglied
Thread Starter
Dabei seit
03.01.2004
Beiträge
230
Reaktionspunkte
0
ich möchte einträge mit der ID aus table1 dessen ID nicht in table 2 steht und deren table1.inhalt='irendwas' ist und table2.andererinhalt='nochwas' ist ausgeben

schon das funzt nicht:
select * from table1 as A where
ID not in ( select * from table2 as B where A.ID=B.ID );

ich hab alle mögliche probiert. kann mir jemand die syntax geben?

Erika
 
Hi,

genau weis ich es jetzt nicht - aber mir war so, dass bei MySQL Unterabfragen nicht möglich sind.

Werde es heute Abend mal nachprüfen!

Gruß

Stan
 
Denk mal in die Richtung:

select * from table1 where
ID not in ( select distinct ID from table2);
 
Erika schrieb:
ich möchte einträge mit der ID aus table1 dessen ID nicht in table 2 steht und deren table1.inhalt='irendwas' ist und table2.andererinhalt='nochwas' ist ausgeben
Versteh ich nicht, wenn es die ID in Table2 nicht gibt, wie findest Du dann den zugehoerigen Datensatz, um an .andererinhalt zu kommen? Poste doch mal Deine Tabellenstruktur und ein Beispiel.
Wile
 
SELECT a.id FROM test_1 as a LEFT JOIN test_2 as b ON a.id=b.id WHERE b.id IS NOT NULL

Sollte eigentlich funktionieren.

Die von gishmo angesprochenen Subqueries funktionieren doch erst ab 5.0., oder ?
 
Zuletzt bearbeitet:
@baumschuber:
Keine Ahnung, aber so würde man das bei echten Datenbanken lösen ... ;-)
Deine Lösung geht auch, dürfte aber teuerer sein.
 
@baumschubser
leider auch nicht "#1064 - You have an error in your SQL syntax."
 
Das "NOT" müßte noch raus, ansonsten funktioniert das wie von mir beschrieben mit der Version 4.0.18 - sollte vielleicht mal updaten ;o)
 
ich benutze version 4.0.20 - klappt.
 
Zurück
Oben Unten