SQL-Statement mit Variable, INNER JOIN und IF-Statement.... wie machen?
-
Hallo Leute!
mit raucht auchh schon der Kopf, obwohl es bestimmt nicht so komplizeirt ist, wenn man mehr Erfahrung hat. Also, die bisherige Abfrage sieht so aus (vereinfacht):SELECT id, bezeich, betrag, tbl2.bezeichnKT FROM tbl1 INNER JOIN tbl1 ON tbl1.idRef_t2 = tbl2.id
d.h. ich möchte zu einer Referenz-ID aus der ersten Tabelle die Bezeichnung des Eintrags aus der 2. Tabelle mit ausgeben. Nun hat aber nicht jeder Datensatz in tabelle 1 diese Referenz, soll aber auch dann ausgegeben werden.
In der ersten Zeile müsste also anstatt jetzttbl2.bezeichnKT
eine Variable stehen. Dieser müsste null zugewiesen werden, wenntbl1.idRef_t2
auch null ist, ansonsten eben besagte Bezeichnung aus 2. Tabelle. Das ganze muss also in irgendwie so aussehn, aber ich natürlich voller Fehler:SELECT id, bezeich, betrag, @bezeich FROM tbl1 IF tbl1.idRef_t2 IS NOT NULL THEN INNER JOIN tbl1 ON tbl1.idRef_t2 = tbl2.id @bezeich = tbl2.bezeichnKT ELSE @bezeich = NULL END IF
Wie muss ich die Variable deklarieren? Wie platziere ich genau die Abfrage?...
Oder geht es auch einfacher?
Ihr sehr, ich bin noch ziemlicher Anfänger in sql, aber ich brauche die Abfrage für ein C# projekt, deshalb kann ich jetzt nicht mit sql-Grundlagen lernen anfangen... ;/Danke für Eure Hilfe
mit lieben Grüßen
tobi
-
Hallo,
dann verwende statt dem INNER JOIN ein LEFT JOIN (oder RIGHT JOIN, je nach Richtung - bin mir gerade nicht sicher):
SELECT id, bezeich, betrag, tbl2.bezeichnKT FROM tbl1 LEFT JOIN tbl1 ON tbl1.idRef_t2 = tbl2.id
-
WOW supi!
Danke dir