WulfmanGER
Commander
- Registriert
- Juli 2005
- Beiträge
- 2.269
Hallo geschätzte mySQL-Fans
ich komme einfach nicht weiter
Ich habe 3 Tabellen (unter mySQL 5.7) die verknüpft werden müssen_
cm_events, locations, category
Jetzt hab ich das Problem das in cm_events 2 ID-Spalten enthalten sind die auf locations (id) verweisen.
cm_events: ... | locationID | ticketLocationID | ...
locations: id | location (name)
Jetzt möchte ich eine Ausgabe:
locationID | location | ticketLocationID | tlocation | ... (insgesamt 15 Spalten; wobei ich hier noch am optimieren bin)
Folgendes Query hab ich jetzt
Fehlermeldung: #1054 - Unbekanntes Tabellenfeld 'e.ticketLocationID' in on clause
Ich versteh es einfach nicht :/ Ich hab jetzt zig Seiten durch ... auch einen SQL-Validator ... ich finde den Fehler nicht. Viele Seiten mit ähnlichen Aufbau gesehen; SELECT, FROM, LEFT JOIN - ON, WHERE, AND. z.B. https://stackoverflow.com/questions/9973159/mysql-left-join-where-table2-field-x (die vorletzte Antwort)
Ich hab testweise mal das WHERE und folgend entfernt - immer noch. Wenn ich den LEFT JOIN komplett entferne -> klappt (natürlich nicht das gewünschte Ergebnis) - was ja auch dafür spricht das ticketLocationID existiert bzw. oben auch richtig angesprochen wird. Der Inhalt des JOINs klappt natürlich auch . Ebenfalls folgendes probiert LEFT JOIN (SELECT...) durch: LEFT JOIN locations lj ON lj.id = e.ticketLocationID - ersetzt: gleicher Fehler (dürfte aber, wenn korrekt: nicht mein Wunschergebnis geben?!)
Wenn ich e.ticketLocationID durch lj.id ersetze (was KEINEN Sinn macht), kommt keine Meldung. Übersehe ich hier etwas?
Danke schon mal...
ich komme einfach nicht weiter
Ich habe 3 Tabellen (unter mySQL 5.7) die verknüpft werden müssen_
cm_events, locations, category
Jetzt hab ich das Problem das in cm_events 2 ID-Spalten enthalten sind die auf locations (id) verweisen.
cm_events: ... | locationID | ticketLocationID | ...
locations: id | location (name)
Jetzt möchte ich eine Ausgabe:
locationID | location | ticketLocationID | tlocation | ... (insgesamt 15 Spalten; wobei ich hier noch am optimieren bin)
Folgendes Query hab ich jetzt
Code:
SELECT e.id, e.startDate, e.startTime, e.endDate, e.endTime, e.categoryID, c.catName, e.description, e.comment, e.class, e.URL, e.locationID, l.location AS loc, e.ticketLocationID, l.location AS tlocation, e.ticket
FROM cm_events e, category c, locations l
LEFT JOIN
( SELECT id, location AS ljloc FROM locations ) lj
ON lj.id = e.ticketLocationID
WHERE c.mainCatID = 1
AND c.id = e.categoryID
AND e.locationID = l.id
AND e.ticketLocationID = l.id
AND e.categoryID IN(1,2,3,4,5,6,7)
Fehlermeldung: #1054 - Unbekanntes Tabellenfeld 'e.ticketLocationID' in on clause
Ich versteh es einfach nicht :/ Ich hab jetzt zig Seiten durch ... auch einen SQL-Validator ... ich finde den Fehler nicht. Viele Seiten mit ähnlichen Aufbau gesehen; SELECT, FROM, LEFT JOIN - ON, WHERE, AND. z.B. https://stackoverflow.com/questions/9973159/mysql-left-join-where-table2-field-x (die vorletzte Antwort)
Ich hab testweise mal das WHERE und folgend entfernt - immer noch. Wenn ich den LEFT JOIN komplett entferne -> klappt (natürlich nicht das gewünschte Ergebnis) - was ja auch dafür spricht das ticketLocationID existiert bzw. oben auch richtig angesprochen wird. Der Inhalt des JOINs klappt natürlich auch . Ebenfalls folgendes probiert LEFT JOIN (SELECT...) durch: LEFT JOIN locations lj ON lj.id = e.ticketLocationID - ersetzt: gleicher Fehler (dürfte aber, wenn korrekt: nicht mein Wunschergebnis geben?!)
Wenn ich e.ticketLocationID durch lj.id ersetze (was KEINEN Sinn macht), kommt keine Meldung. Übersehe ich hier etwas?
Danke schon mal...