Hallo,
Jetzt die SELECT-Abfrage:
SELECT distinct kundennummer,
GROUP_CONCAT(leistung) AS Leistungen,
GROUP_CONCAT(aktivitaet) AS theaktivitaet,
li_id,name,ort,email
^welche E-Mail erwartest Du hier? Oder gibt es je kundennummer nur eine? Warum dann eine eigene Tabelle? Zwar sind auch die Felder li_id, name und ort hier eigentlich falsch, weil sie weder zur Gruppierung noch in Aggregatfunktionen genutzt werden. MySQL akzeptiert das trotzdem und nimmt irgendeinen Wert aus der Gruppe über kundennummern. Nimmt man an, es gibt je kundennummer nur eine/n li_id, name bzw. ort, dann ergibt das noch einigermaßen Sinn. Bei der email aus hotel_form wird aber auch irgendein Wert aus der Gruppe über kundennummer genommen.
FROM hotel_firma
INNER JOIN hotel_form
ON hotel_firma.li_id = hotel_form.id_firma
LEFT JOIN hotel_leistungen
ON hotel_firma.li_id = hotel_leistungen.id_firma
LEFT JOIN hotel_aktivitaeten
ON hotel_firma.li_id = hotel_aktivitaeten.id_firma
WHERE online=1
^Was ist online?
GROUP BY kundennummer
ORDER BY last_edit DESCWird LEFT JOIN bei hotel_aktivitaeten nicht berücksichtigt? Geht denn überhaupt Left join zweimal in einem Select?
Hast Du es mal mit Klammern versucht?
...
FROM ((hotel_firma INNER JOIN hotel_form ON hotel_firma.li_id = hotel_form.id_firma)
LEFT JOIN hotel_leistungen ON hotel_firma.li_id = hotel_leistungen.id_firma)
LEFT JOIN hotel_aktivitaeten ON hotel_firma.li_id = hotel_aktivitaeten.id_firma
...
viele Grüße
Axel