Falls der Wert nicht in der Tabelle ist -> leer lassen.

basist

Grünschnabel

Hallo zusammen, bin ganz frisch hier und habe folgendes Problem:

Ich habe 3 Tabelle:

Tabelle1
*
Index
b


Tabelle2
*
Index
a
b
c


Tabelle3
*
Index
c
d


Es soll eine Abfrage in MySQL generiert werden, die am Ende b und d ausgibt.
Falls der Wert aus der Tabelle1 nicht in der Tabelle2 vorhanden ist bleibt der Feld frei;
Falls die Werte gleich sind -> Wert aus der Tabelle3 (d) ausgeben.

Danke im Voraus
Gruß
Gregor
 
Zuletzt bearbeitet:
etwa so
SQL:
SELECT
	t1.b,
	IF(t2.b IS NULL, NULL, t3.c) AS myValue
FROM
	tabelle1 AS t1
	LEFT JOIN tabelle2 AS t2
		ON t2.b = t1.b
	LEFT JOIN tabelle3 AS t3
		ON t2.c = t1.c
 
danke! habe jetzt in Access SQL-Anweisungsgenerator umgeschrieben -> geht's nicht, vll. ist ein Fehler untergegangen...

Wie hätte es dort eigentlich aussehen sollen?
 
In MS Access?
SQL:
-- In der SQL-Ansicht
IF(isNull(t2.b), NULL, t3.c) AS myValue
-- In der Assistenzansicht
myValue: IF(isNull(t2.b); NULL; t3.c)
 
Zuletzt bearbeitet von einem Moderator:
komplette select methode:

SELECT t1.Index, t2.b, t3.c
IIf(isNULL(t2.b), NULL, .....

Habe das Problem gelöst! Danke an Alle!!

SELECT t1.Index, t1.b, t3.d
FROM t1 LEFT JOIN ([t3] RIGHT JOIN t2 ON t3.c = t2.c) ON t1.b = t2.b;
 

Neue Beiträge

Zurück