Forum: SQL |
Thema:
Re: sql-abfrage |
Von:
Peter Knoll (
06.03.2006 10:02) |
Hi,
ich würde das mit einem Sub-Select machen. Code für MS-SQL Server:
SELECT reise_nr, ort FROM reise WHERE NOT EXISTS (SELECT buchung.reise_nr FROM buchung WHERE buchung.reise_nr = reise.reise_nr)
Das ist - meines Wissens - der schnellere Code. Verständlicher ist für manche jedoch jedoch:
SELECT reise_nr, ort FROM reise WHERE (SELECT count(*) FROM buchung WHERE buchung.reise_nr = reise.reise_nr) = 0
Dies Abfragen sollten alle Reisenummern mit Ort zeigen, die nicht gebucht sind.
Herzlichen Gruß, Peter
Betreff |
Von |
Datum |
|
|
Re: sql-abfrage
Hallo Peter,<br><br>ich gebe Dir recht deine andere Syntax wäre mir auch lieber aber im MS-SqlServer gibt das eine Fehlermeldung. Ich habe mehere Möglichkeiten getestet, aber im SqlServer geht deine... |
|
|
|
|
|
Ansgar
Sommer
|
06.03.2006 10:24 |
|
|
Re: sql-abfrage
Hallo Ansgar,<br><br>welchen Code meinst du? diesen?:<br><br>SELECT reise_nr, ort FROM reise WHERE NOT EXISTS (SELECT buchung.reise_nr FROM buchung WHERE buchung.reise_nr = reise.reise_nr)<br><br>Der funktioniert... |
|
|
|
|
|
Peter
Knoll
|
06.03.2006 11:05 |
|
|
Re: sql-abfrage
Hallo Peter,<br><br>das mit NOT EXSITS habe ich nicht ausgetestet aber das läuft bestimmt, die andere Variante (über den View) finde ich dann noch etwas flexibeler da ich damit auch noch Auswerten kann... |
|
|
|
|
|
Ansgar
Sommer
|
06.03.2006 12:16 |
|
|
Re: sql-abfrage
<br>alternativ wäre auch möglich:<br>SELECT reise_nr, ort<br>FROM reise<br>WHERE reise_nr not in (SELECT distinct reise_nr FROM buchung)<br><br>oder<br><br>select reise.reise_nr, ort<br>from reise, buchung<br>where... |
|
|
|
|
|
Jens
Buthe
|
06.03.2006 14:18 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!