Linuchs: LEFT JOIN: Feld angeblich nicht bekannt

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

  1. 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.

    1. 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