Hallo zusammen,
ich mache schon lange an dieser SELECT rum, da Sie nicht alle gewünschten Inhalte liefert wie ich mir das vorstelle.
Meine vier Tabellen:
TABELLE "hotel_firma":
------------------------
li_id
kundenummer
name
ort
last_edit
TABELLE "hotel_form":
------------------------
id
id_firma
email
TABELLE 1 "hotel_leistungen":
------------------------
id_firma
leistung
TABELLE "hotel_aktivitaeten":
------------------------
id_firma
aktivitaet
Jetzt die SELECT-Abfrage:
------------------------
SELECT distinct kundennummer,
GROUP_CONCAT(leistung) AS Leistungen,
GROUP_CONCAT(aktivitaet) AS theaktivitaet,
li_id,name,ort,email
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
GROUP BY kundennummer
ORDER BY last_edit DESC
Hier meine Frage:
ICh will die Tabelle mit allen Inhalten ausgeben. So werden derzeit alle Leistungen aus hotel_leistungen in ein Feld geschrieben, die zugehörigen Tabellenfelder werden auch ausgegeben. was nicht ausgegeben wird sie die passenden Tabellenfelder von hotel_aktivitaeten. Hier sollen wie bei hotel_leistungen die Inhalte bei übereinstimmen des Primärschlüssels id_firma und li_id ausgegeben werden. Das tut es nicht. Was mache ich verkehrt?
Wird LEFT JOIN bei hotel_aktivitaeten nicht berücksichtigt? Geht denn überhaupt Left join zweimal in einem Select?
Grüße von Guma