Veröffentlicht 7. Juli 201015 j Hey, ich habe mal wieder ein problem. und zwar habe ich 2 Tabellen. In der einen stehen 2 Werte, eine Bezeichnung und ein Fremdschlüssel. In der Zweiten stehen zu dem Fremdschlüssel andere Bezeichnungen. Ich soll nun die 1. Tabelle auslesen und falls ein Fremdschlüssel vorhanden ist die Bezeichnung aus Tabelle 2 nehmen. Ist kein FK vorhanden soll ich die Bezeichnung aus Tabelle 1 nehmen. Einzeln bekomm ich beide Abfgragen hin, nur leider scheitert es am "Zusammenfügen" SELECT bezeichnung FROM tbl_a WHERE fk_tbl_b IS NULL SELECT b.bezeichnung FROM tbl_b AS b INNER JOIN tbl_a AS a ON b.pk_tbl_1 = a.fk_tbl_a
7. Juli 201015 j ich nutze microsoft sql server management studio und nen outer join bringt mir im dem sinne nix das ich dann für die bezeichnung "null" dastehen hab. ich brauche ja aber dann den wert aus tabelle 1. Das hier sind sozusagen meine beiden Tabellen: tbl_a Bezeichnung ---- fk_tbl_b Auto ------------ NULL Bahn ----------- 3 Hund ----------- 8 Pferd ----------- NULL tbl_b Bezeichnung ---- pk_tbl_b Eisenbahn -------- 3 Dackel ----------- 8 Und als Ausgabe möchte ich folgendes erhalten: Auto Eisenbahn Dackel Pferd Bearbeitet 7. Juli 201015 j von Jana_
7. Juli 201015 j Ich soll nun die 1. Tabelle auslesen und falls ein Fremdschlüssel vorhanden ist die Bezeichnung aus Tabelle 2 nehmen. Ist kein FK vorhanden soll ich die Bezeichnung aus Tabelle 1 nehmen. Einzeln bekomm ich beide Abfgragen hin, nur leider scheitert es am "Zusammenfügen" Möglichkeit Nr1 : SELECT isnull(b.bezeichnung, a.beziechnung) [Bezeichnung] FROM tabelle1 a LEFT JOin tabelle2 b on a.fk_tbl_b = b.pk_tbl_1 Möglichkeit Nr2 : SELECT bezeichnung FROM tbl_a WHERE fk_tbl_b IS NULL UNION SELECT b.bezeichnung FROM tbl_b AS b INNER JOIN tbl_a AS a ON b.pk_tbl_1 = a.fk_tbl_a Gruß Sven
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.