E però questo discorso lo dovrei fare in fase di inserimento dati?
Ossia quando vado a registrare un utente nel DB, devo mettergli anche il campo guidascelta? E se ne ha scelta più di una?... Devo registrare doppiamente lo stesso utente?

E' un po un pasticcio..

E' lo stesso discorso di quando uno scarica un file e c'è un contatore che ti dice: tu hai scaricato questo file 1 volta.
Poi lo vai a riscaricare e ti dice: tu hai scaricato questo file 2 volte. E così via..

Se non mi pare di aver capito male dovrebbe fare una cosa del genere.

Caccio fuori un istruzione, magari vi potrebbe essere d'aiuto.
Può servire un DISTINCT?

Grazie ancora per dedicarmi il vostro tempo