Syntaxfrage select im select

Hallo,

vielleicht kann mir jemand von euch weiterhelfen.
Ich möchte bei einer SQL-Abfrage (ganz normal select, from, where) in dem select noch ein select einbauen. In dem eingebauten select muss dann nochmal eine kleine Unterabfrage integriert sein.

Kann mir dazu jemand die Syntax nennen?

Bsp.: select Name, Vorname, Straße, XXXX (select Ort, where Ort = ‚Hamburg‘ and PLZ = 41511)

Hier soll eben der Ort nur dann ausgegeben werden, wenn er Hamburg ist und die PLZ 41511. Ist zwar unlogisch aber ein gutes Beispiel.

Vielen Danks schonmal für eure Hilfe!

Grüßle
Matthias

select Name, Vorname, Straße, (select Ort FROM tab t2 where
Ort = ‚Hamburg‘ and PLZ = 41511 and id = t1.ID) ort FROM tab t1;

Aber einfacher gehts natürlich mit UNION:
select name, vorname, straße, ort from tab where plz = ‚41511‘
UNION
select name, vorname, straße, null from tab
where plz != ‚41511‘
order by name, vorname;

Oder mit Ersetzen, aber das ist Datenbankspezifisch, SQLSERVER kann ein CASE im SELECT

Gruß

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Select (…) decode (Ort||PLZ, ‚Hamburg41511‘, ‚Hamburg‘, NULL) from …

Gruß, muzel

Es funktioniert.

Vielen Dank euch beiden!

Grüßle
Matthias

Hallo Matthias,
wenn du freundlicherweise geschrieben hättest, auf welcher Datenbank welche Lösung funktioniert, hätten spätere Generationen da auch noch etwas von. :wink:

Grüßt: Guido

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]