La clausola distinct si estende a tutti i campi presenti nella select. Se ti servono solo i nominativi rimuovi p.* da entrambe le query che unisci.