Götz: Bedingte Abfrage?

Beitrag lesen

Hallo Peter!

SELECT cycle FROM contract WHERE id = $id wenn parent_id IS NULL, andernfalls
SELECT cycle FROM contract WHERE id = (SELECT parent_id FROM contract WHERE id = $id)

Geht das, oder muss ich erst die erste Abfrage ausführen, das Ergebnis prüfen und abhängig davon die zweite ausführen (oder auch nicht)?

Ich bin mir relativ sicher, daß es in SQL irgendwie geht, aber sicher weiß ich es nicht, da müßte ich erst irgendwo nachlesen.
Wichtig in dem zusammenhang ist auch, welche Datenbank Du denn einsetzt. Denn je nachdem, was du einsetzt kan nes sein, daß Du das mit einer Abfrage machen kannst, oder eben auch ,daß es nicht geht, je nachdem was Dein DBMS unterstützt.

Am einfachsten ist es wohl, wenn Du 2 separate Anfragen stellst, also erst die erste, und wenn die nichts ergibt die zweite. Aber schau einfach mal in der Dokumentation der von Dir verwendeten Datenbank nach ;)

MfG
Götz

--
Losung für Dienstag, 20. Juli 2004
Gott tut große Dinge, die nicht zu erforschen, und Wunder, die nicht zu zählen sind. (Hiob 9,10)
Es kam eine große Menge zu Jesus; die hatten bei sich Gelähmte, Verkrüppelte, Blinde, Stumme und viele andere Kranke und legten sie Jesus vor die Füße, und er heilte sie. (Matthäus 15,30)
(http://www.losungen.de/heute.php3)