Buongiorno
sul DB ho due tabelle, una degli utenti e l'altra in cui vengono registrati degli eventi.
Nella tabella degli eventi, questi vengono registrati man mano che si verificano, registrando l'utente che lo ha generato e la data è l'ora in cui si è verificato. Ora può succedere che un utente può ripetere l'evento più volte ed in questo caso ho più righe sulla tabella.
Ora, se volessi recuperare l'intero elenco degli utenti e sapere se ognuno ha partecipato ad un evento, come faccio, considerando che vorrei che l'utente appaia una sola volta?
In particolare, per recuperare info su due eventi, avevo pensato ad una query del tipo
Codice PHP:
SELECT
u.nome,
CASE e.evento WHEN caso1 THEN "Y" ELSE "N" END AS 'evento1'
CASE e.evento WHEN caso2 THEN "Y" ELSE "N" END AS 'evento2'
FROM utenti u
LEFT JOIN eventi e ON e.id_utente = u.id_utente
Ora, se non ci fossero "duplicati" nella tabella eventi, andrebbe bene, ma essendoci i "duplicati", ottengo che in caso di più casi per un utente, questo viene riportato più volte con differenti combinazioni.
Usando GROUP BY u.nome complico solo le cose in quanto avrei restituito solo il primo rigo mentre magari negli altri ho info in merito.
Idee su come risolvere?