[SQL] Frage zu Select

alex130

Erfahrenes Mitglied
Hallo,
wir haben in der Schule gerade ein Projekt, im moment sind wir bei der Datenbank und dazu haben wir nen Übungszettel bekommen....
Nun mein Problem, hier steht folgende Frage
Code:
Geben Sie eine Liste ALLER Flugzeuge (ID und Name) aus und dazu, sofern vorhanden, die Nummer des Besitzers als Spaltenname "Besitzer-Nr.". Wenn kein Besitzer existiert, soll stattdessen die NUmmer '999' ausgegeben werden."
Wie kann man das machen? Also ich hätte ja die Werte abgefragt und dann im Script geprüft, allerdings geht das angeblich direkt in der Abfrage.
Kann mir bitte jemand helfen?
Danke
 
Ja, du kannst das Problem tatsächlich nur mit SQL lösen. Rauszufinden, wie das genau geht, ist aber wohl Teil der Aufgabe, deshalb verrat ichs mal nicht.
 
Hallo,
danke, ich erwarte auch keine komplette Abfrage, aber es wäre sehr nett, mir ein wenig zu helfen...
hab auch schon auf google gesucht...
 
Du musst erstmal abfangen was eingegeben ist dann machst du folgendes:

PHP:
if($test == '') { //Prüfe folgendes, ist $test leer so geben die Zahl 999 aus

    $besitzer_nr = 999;

} else { //Ansonsten gebe sofern die Suche oder was auch immer erfolgreich war das aus

    $besitzer_nr = $row['besitzer_nr'];

}

Da du ja nur ein Denkstoss brauchst sollte das dir weiter helfen können *hoff ich zumindestens* :p ^^
 
Hallo,
ja wie schon gesagt, ich hätte es auch so im Script gelöst, allerdings gibts bei SQL ja keine If Abfragen, also wüsste ich nicht, wie ich das nur mit der Abfrage machen kann..
 
Ich bin ja kein Datenbank Spezialist:
Könnte man nicht einfach das Feld für Besitzer auf den Standartwert '999' setzen?
So hat man automatisch überall, wo kein Besitzer angegeben ist den Wert '999' stehen?
 
Hi, danke
hab jetzt mal ein wenig gesucht, aber brauch ich das Else eigtl. unbedingt?
Und wozu gehört das END beim CASE?
Hier mal mein bisheriger Code:
Code:
SELECT ID, Name, Besitzer Besitzer-Nr CASE Besitzer WHEN '' THEN '999' ELSE Besitzer END AS FROM Flugzeuge
 

Hallo alex130,

schon fast richtig:
Code:
SELECT ID, Name, Besitzer-Nr, CASE WHEN Besitzer = '' THEN '999' ELSE Besitzer END AS Besitzer 
 FROM Flugzeuge
Ob du CASE oder ISNULL benutzt hängt davon ab, ob im Feld "Besitzer" null oder ein Leerstring steht.
 
Zurück