Ein JOIN Problem in MySQL

Hab das jetzt so per phpmyadmin abgefragt

SQL:
SELECT          w.*, i1.insulin_name, i2.insulin_name
FROM            bz_werte AS w
JOIN            insuline AS i1 ON w.id_insuline_1 = i.id_insuline
JOIN            insuline AS i2 ON w.id_insuline_2 = i.id_insuline
WHERE           w.id_user = 1

Das kam zurück: #1054 - Unknown column 'i.id_insuline' in 'on clause'

Aber die Spalte id_insuline in insuline gibt es.
 
Aber kein "i", sondern nur "i1" und "i2" !

Die Fehlermeldungen sind doch wirklich eindeutig, da muss man nur etwas genauer hingucken (auch wenn der Fehler so in meinem Post steht...selbst nachdenken ist erlaubt).
 
Ja sorry, ist schon spät und der Tag war lang.

Aber so funktioniert es.

Ich danke Dir.

Ich muss diesen Thread nochmal öffnen.

Vielleicht kannst Du mir nochmal helfen CPoly.

Das hier funktioniert, aber nur wenn in beiden id Feldern etwas steht. Das ist aber nicht immer der Fall, es kann auch nur ein Feld belegt und das andere leer sein. Dann zeigt er mir die entsprechenden Datensätze nicht mit an.

SQL:
SELECT w.*, i1.insulin_name as iname1, i2.insulin_name as iname2 
FROM bz_werte AS w 
JOIN insuline AS i1 ON w.id_insuline_1 = i1.id_insuline 
JOIN insuline AS i2 ON w.id_insuline_2 = i2.id_insuline 
WHERE w.id_user = 1 
ORDER BY  wert_datum DESC, wert_uhrzeit DESC
 
Zuletzt bearbeitet:
Nimm anstelle des JOIN ein LEFT JOIN und mach dich im WWW mal schlau über den LEFT JOIN.
SQL:
SELECT w.*, i1.insulin_name AS iname1, i2.insulin_name AS iname2 
FROM bz_werte AS w 
LEFT JOIN insuline AS i1 ON w.id_insuline_1 = i1.id_insuline 
LEFT JOIN insuline AS i2 ON w.id_insuline_2 = i2.id_insuline 
WHERE w.id_user = 1 
ORDER BY  wert_datum DESC, wert_uhrzeit DESC
 
Zuletzt bearbeitet von einem Moderator:
Zurück