Mi sto incasinando non poco con le query e le LEFT JOIN.
Ho questa query:
Codice:
SELECT event_id, event_name, event_nation, event_city, event_local, event_start_y, event_band_day, event_band_start, event_band_finish, DATE_FORMAT(CONCAT(event_start_y, '/', event_start_m, '/', event_start_d), '%m/%d/%Y') AS event_start, DATE_FORMAT(CONCAT(event_end_y, '/', event_end_m, '/', event_end_d), '%m/%d/%Y') AS event_end, DATE_FORMAT(event_band_start, '%H:%i') AS date_event_band_start, COUNT(event_participant_user) AS event_participants
FROM events_band
LEFT JOIN events
ON (event_id = event_band)
LEFT JOIN events_participants
ON (event_id = event_participant)
WHERE event_band_id = 1
OR event_band_id = 'Sonata Arctica'
GROUP BY event_participant
ORDER BY event_start DESC, date_event_band_start
LIMIT 10
Poi ho 3 tabelle in cui nella prima della query (events_band), ho questa struttura:
Codice:
event_band event_band_id event_band_day event_band_start event_band_finish
1 1 2 22:20 23:20
1 2 2 22:20 23:20
1 2 1 21:00 22:00
1 2 1 20:00 23:00
Nella prima colonna ho l'id dell'event0, nella seconda il gruppo che partecipa all'evento, nella terza il giorno in cui partecipa l'evento e poi gli orari.
Nella seconda tabella della query (events) ho una colonna con l'id A.I. e il resto delle informazioni dell'evento.
Nella terza tabella, invece, (events_participants) ho gli utenti che particeparnno all'evento, quindo ho una colonna dove registro l'id dell'evento e l'username.
Ora, se non inserisco la LEFT JOIN di quest'ultima tabella tutto mi viene mostrato correttamente, cioè 4 eventi, di cui 3 con lo stesso nome, ma con le date diverse.
Se inserisco in LEFT JOIN i partecipanti mi mostra solo un evento dove ci sono i partecipanti.
Devo usare GROUP BY, ma in questo caso non so come lo debba fare!
Mi potreste aiutare? Grazie