Der folgende Beitrag wurde am 15. 02. 2004, 15:40 Uhr von Eddie veröffentlicht.
Hallo allerseits!
Koennt ihr mir sagen, was ich hier falsch mache?
=======
SELECT id, name
FROM regions
WHERE NOT EXISTS
(SELECT *
FROM rel
WHERE regionID = regions.id)
=======
Ich will alle Regionen (aus regions) auswählen, die in der Tabelle rel keine Entsprechung haben. Geht aber nicht!
Danke Euch,
Eddie
Der folgende Beitrag wurde am 15. 02. 2004, 15:55 Uhr von Andreas Görtz veröffentlicht.
Hi,
> Ich will alle Regionen (aus regions) auswählen, die in der Tabelle rel keine Entsprechung haben. Geht aber nicht!
das würde ich folgendermaßen angehen:
SELECT
id,name
FROM
regions
LEFT JOIN
rel
ON
(regions.id=rel.regionId)
WHERE
rel.regionId IS NULL
Zur Erklärung: wenn du diesen Befehl mal ohne den WHERE-Teil ausführst und zusätzlich noch rel.regionId in das SELECT schreibst, siehst du, dass _alle_ Datensätze aus der Tabelle regions ausgewählt werden (LEFT JOIN) und ihnen im Falle einer Entsprechung in rel die ID aus rel zugeordnet wird. Gibt es diese Entsprechung nicht, wird rel.regionId mit NULL aufgefüllt, was dann nur noch abzufragen ist.
Gruß,
Andreas.
Der folgende Beitrag wurde am 15. 02. 2004, 16:17 Uhr von Eddie veröffentlicht.
Hi Andreas,
hat perfekt funktioniert und ich hab sogar noch was gelernt. Danke!
Warum das andere aber nicht funktioniert, ist mir immer noch ein Raetsel. Falls das jemand weiss, koennte er mich sehr gluecklich machen!!! :-)
Gruss, Eddie
Der folgende Beitrag wurde am 15. 02. 2004, 16:29 Uhr von Axel Richter veröffentlicht.
Hallo,
> Warum das andere aber nicht funktioniert, ist mir immer noch ein Raetsel.
http://www.mysql.de/doc/de/ANSI_diff_Sub-selects.html
Warte, bis MySQL so etwas unterstützt.
> Falls das jemand weiss, koennte er mich sehr gluecklich machen!!! :-)
Glücklich? ;-)
viele Grüße
Axel
Der folgende Beitrag wurde am 15. 02. 2004, 17:12 Uhr von Eddie veröffentlicht.
> > Falls das jemand weiss, koennte er mich sehr gluecklich machen!!! :-)
> Glücklich? ;-)
Sehr!!!
Mir ist erst jetzt aufgefallen, dass die Doku, die ich hier hab, fuer SQL ist, nicht fuer MySQL - bisher hatte das nie einen Unterschied gemacht ...
Danke, Eddie
Der folgende Beitrag wurde am 15. 02. 2004, 17:13 Uhr von Philipp Hasenfratz veröffentlicht.
Halihallo Axel
> > Warum das andere aber nicht funktioniert, ist mir immer noch ein Raetsel.
> http://www.mysql.de/doc/de/ANSI_diff_Sub-selects.html
> Warte, bis MySQL so etwas unterstützt.
Die Doku ist in diesem Bereich etwas out of date.
http://www.mysql.com/doc/en/Subqueries.html
Subselects gibt es seit MySQL 4.1, das Warten hat endlich ein
Ende :-)
Viele Grüsse
Philipp
Der folgende Beitrag wurde am 15. 02. 2004, 15:56 Uhr von Christian Tolk veröffentlicht.
wie sehen dann die tabellen aus ( welche Felder stehen in welchen Tabelle)?
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4