Bitte mal SQL- Kommando ansehen
Kalle_B
- datenbank
Hallöle,
habe hier den Fehler
1054: Unknown column 'kon1.owner_id' in 'on clause'
Das Feld owner_id ist in Tabelle tm_kontakte enthalten. Hier das "falsche" SQL- Kommando:
SELECT
anw1.slot_nr slot_nr
,slt1.uhr_von uhr_von
,kon1.gruppen_id bes_gruppen_id
,kon2.prio_1 prio_1
,kon2.prio_2 prio_2
,kon2.prio_3 prio_3
,kon2.besucher_id bes_id
,anw1.partner_id bes_par_id
,anw1.event_id bes_evt_id
,per1.bezeichnung bes_par_bezeichnung
,evt1.name bes_evt_bezeichnung
FROM tm_kontakte as kon1
,tm_kontakte as kon2
LEFT JOIN tm_anwesenheit as anw1
ON anw1.adr_id=kon2.besucher_id
LEFT JOIN tm_slots as slt1
ON slt1.owner_id=kon1.owner_id AND slt1.nr=anw1.slot_nr
LEFT JOIN tm_adressen as per1
ON per1.id=anw1.partner_id
LEFT JOIN tm_events as evt1
ON evt1.id=anw1.event_id
WHERE kon1.besucher_id=1828 AND kon1.aussteller_id=1533
AND ( (kon1.gruppen_id>0 AND kon2.gruppen_id=kon1.gruppen_id AND kon2.aussteller_id=kon1.aussteller_id)
OR (kon1.gruppen_id=0 AND kon2.besucher_id=kon1.besucher_id AND kon2.aussteller_id=kon1.aussteller_id))
ORDER BY anw1.slot_nr, kon2.besucher_id
Lieben Gruß, Kalle
1054: Unknown column 'kon1.owner_id' in 'on clause'
Eventuell hilft dir http://dev.mysql.com/doc/refman/5.0/en/join.html (unter "Join Processing Changes in MySQL 5.0.12"), dort die Ausführungen zu 'comma operator' und JOIN sowie folgende.
Wenn ich das richtig sehe, sollte eine Klammer um die Tabellennamen wie folgt helfen:
FROM (tm_kontakte as kon1, tm_kontakte as kon2)
Ansonsten: Welche MySQL-Version?
Siechfred
Ansonsten: Welche MySQL-Version?
5.0.27
Habe die Klammern gesetzt. Jetzt wird die Seite nicht geladen. Terions hat seit Wochen irre Probleme.
Kalle
Wenn ich das richtig sehe, sollte eine Klammer um die Tabellennamen wie folgt helfen:
FROM (tm_kontakte as kon1, tm_kontakte as kon2)
Tatsächlich. Klammer drum, kein Fehler. Klammer wieder weg, Fehler.
Wenn das meine Freundin wüsste, dass man mit Klammern zum Erfolg kommt ...
Kalle
Hallo Kalle,
Wenn ich das richtig sehe, sollte eine Klammer um die Tabellennamen wie folgt helfen:
FROM (tm_kontakte as kon1, tm_kontakte as kon2)
Tatsächlich. Klammer drum, kein Fehler. Klammer wieder weg, Fehler.
Du solltest _dringend_ überprüfen, ob die Resultate der Abfragen gleich bleiben.
Die Änderungen in MySQL 5.0.12 hatten auch darauf Auswirkungen.
Die Ergebnisse vorher konnten bei bestimmten OUTER JOINs enorm vom (von mir) erwarteten Ergebnis abweichen. Das von mir erwartete Ergebnis war übrigens das, was neuere MySQL-Versionen liefern - und andere DBMS wie DB2, Oracle oder MS SQL-Server schon seit eh' und je zurückgaben.
Freundliche Grüße
Vinzenz
Hallo,
probier mal so etwas in dieser Art:
...
from servers s, packages p
where s.id = p.server_id
...
Gruss
Bernd