LEFT JOIN: Feld angeblich nicht bekannt
Linuchs
- datenbank
0 Encoder
Hallo,
mit dieser Fehlermeldung kann ich nichts anfangen:
1054: Unknown column 'trp1.id' in 'on clause'
SELECT
SQL_CALC_FOUND_ROWS
trp1.*
,trp1.id trp_id
,ort1.id ORT
,ort1.land_kz ort_land_kz
,ort1.plz ort_plz
,ort1.name ort_name
,ort1.name_zusatz ort_zusatz
,COUNT( trm1.treffpunkt_id ) anzahl_events
FROM bia_treffpunkte AS trp1
,bia_orte ort1
LEFT JOIN bia_termine AS trm1
ON (trm1.treffpunkt_id = trp1.id)
WHERE trp1.owner_id = 1
AND ort1.id = trp1.ort_id
#sql_ORT
GROUP BY ort1.name, ort1.land_kz, ort1.plz, trp1.treffpunkt
Das Feld id ist mit Sicherheit da. Der Fehler kam mit dem Hinzufügen der Zeile COUNT und den beiden JOIN-Zeilen.
Linuchs
FROM bia_treffpunkte AS trp1
,bia_orte ort1
LEFT JOIN bia_termine AS trm1
ON (trm1.treffpunkt_id = trp1.id)
Der JOIN bezieht sich nicht auf trp1 sondern auf ort1 und da kennt der ON Teil des Statements die am JOIN nicht beteiligte Tabelle nicht.
Ich würde hier eine einheitliche Syntax verwenden, entweder alle Tabellen mit JOIN verbinden oder JOIN komplett weglassen. Wobei ich es schon lieber ausschreibe weil es sprechender ist.
Der JOIN bezieht sich nicht auf trp1 sondern auf ort1 und da kennt der ON Teil des Statements die am JOIN nicht beteiligte Tabelle nicht.
Aha. Danke dir.
Linuchs