-----Original Message----- From: Jan Trippler [mailto:Jan.Trippler@t-online.de] Sent: Monday, November 10, 2003 2:06 AM To: suse-linux@suse.com Subject: Re: SQL Syntax in MySQL
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 ;)
Hi Jan, was heisst denn richtige Datenbank? Da käme doch wohl nur Firebird in Frage. Aber deren Rechteverwaltung ist noch längst nicht so ausgefuchst wie bei MySQL. Und ansonsten gibt es doch nur sehr teure Programme. Ab MySQL 4 wird es doch richtig interessant. mfg Adolf
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com