WulfmanGER
Commander
- Registriert
- Juli 2005
- Beiträge
- 2.326
Hallo geschätzte mySQL-Fans ![Zwinkern ;) ;)](/forum/styles/smilies/wink.gif)
ich komme einfach nicht weiter![Traurig :( :(](/forum/styles/smilies/frown.gif)
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...
![Zwinkern ;) ;)](/forum/styles/smilies/wink.gif)
ich komme einfach nicht weiter
![Traurig :( :(](/forum/styles/smilies/frown.gif)
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
![Lächeln :) :)](/forum/styles/smilies/smile.gif)
![Zwinkern ;) ;)](/forum/styles/smilies/wink.gif)
Wenn ich e.ticketLocationID durch lj.id ersetze (was KEINEN Sinn macht), kommt keine Meldung. Übersehe ich hier etwas?
Danke schon mal...