Distinct lo devi utilizzare una volta nella query, non due volte per ogni campo.
P.s. la clausola GROUP BY è ottima, per questo tipo di operazioni.