Ciao a tutti.
ho un db con una tabella UTENTI, GRUPPI, GRUPPI_UTENTI, dove devo gestire degli utenti che possono appartenere a diversi gruppi. Un utente puo' essere iscritto a piu gruppi.

devo eseguire una query che deve resituire un elenco di tutti gli utenti della tabella UTENTI, con un campo espressione settato a 1 se l'utente appartiene al gruppo oppure a 0 se non appartienne al gruppo

Esempio
tabella Utenti: (ID, NOME)
1 , pippo
2 , franco
3 , marco

tabella Gruppi: (ID, gruppo)
1 , impiegati
2 , amministrativo

tabella Gruppi_Utenti: (ID_utenti, ID_gruppi)
1 , 1 (pippo appartiene al gruppo impiegati)
2 , 1 (franco appartiene al gruppo impiegati)
2 , 2 (franco appartiene al gruppo amministrativo)


con la seguente query

codice:
SELECT UTENTI.ID, UTENTI.nome, "1" AS Espr1
FROM UTENTI LEFT JOIN UTENTI_GRUPPI ON UTENTI.ID = UTENTI_GRUPPI.ID_utente
WHERE (((UTENTI_GRUPPI.ID_gruppo)=1));
union
SELECT UTENTI.ID, UTENTI.nome, "0" AS Espr1
FROM UTENTI LEFT JOIN UTENTI_GRUPPI ON UTENTI.ID = UTENTI_GRUPPI.ID_utente
WHERE (((UTENTI_GRUPPI.ID_gruppo)<>1 Or (UTENTI_GRUPPI.ID_gruppo) Is Null));
ottengo il seguente risultato:

ID nome Espr1
1 pippo 1
2 franco 0
2 franco 1
3 marco 0

invece vorrei riuscire ad ottenere

ID nome Espr1
1 pippo 1
2 franco 1
3 marco 0


Grazie

Ciao