Hallo,
ich habe eine Abfrage, in der ich mir in einer extra Spalte anzeige, ob Tabelle 1 einen Fremdschlüssel in Tabelle 2 hat. Das wird über case isnull gelöst.
Ich will mir aber nur von bestimmten Werten anschauen, ob ein Fremdschlüssel existiert. Wie müsste ich denn meine Abfrage abändern. Anbei mal die aktuelle:
CASE ISNULL(Tab2.IDTab1, '') WHEN '' THEN 0 ELSE 1 END AS fs_exists
Tabelle 1
IDTab1|Name
100000|name1
Tabelle 2
IDTab2|ID_X|IDTab1
500000|1111|100000
600000|2222|100000
Mein Versuch hier. bringt einfach zu viele Datensätze zurück:
select [...],
CASE WHEN Tab2.ID_X = 1111 THEN CASE ISNULL(Tab2.IDTab1, '') WHEN '' THEN 0 ELSE 1 END ELSE 0 END AS fs_exists
FROM [...]
ich habe eine Abfrage, in der ich mir in einer extra Spalte anzeige, ob Tabelle 1 einen Fremdschlüssel in Tabelle 2 hat. Das wird über case isnull gelöst.
Ich will mir aber nur von bestimmten Werten anschauen, ob ein Fremdschlüssel existiert. Wie müsste ich denn meine Abfrage abändern. Anbei mal die aktuelle:
CASE ISNULL(Tab2.IDTab1, '') WHEN '' THEN 0 ELSE 1 END AS fs_exists
Tabelle 1
IDTab1|Name
100000|name1
Tabelle 2
IDTab2|ID_X|IDTab1
500000|1111|100000
600000|2222|100000
Mein Versuch hier. bringt einfach zu viele Datensätze zurück:
select [...],
CASE WHEN Tab2.ID_X = 1111 THEN CASE ISNULL(Tab2.IDTab1, '') WHEN '' THEN 0 ELSE 1 END ELSE 0 END AS fs_exists
FROM [...]
Kommentar