continua ad essere fumosa.... se hai tre record per topolino ma vuoi vedere solo la categoria (livelli), usa group by e non il distinct.
ma rivedrei anche l'impostazione della query usando JOIN.
ma attenzione.... nel group by mettici i campi che ti servono e nell'ordine voluto....codice:select * from associazioni as A left join prodotti_main as P ON A.id_prodotto = P.id_prodotto left join livelli as L ON L.id_livello = A.id_livello where (P.titolo_{$_SESSION['public_vars']['lang']}_p LIKE '%{$ricerca}%' || P.testo_1_p LIKE '%{$ricerca}%' || P.facoltativo_1_p LIKE '%{$ricerca}%') group by P.campo, A.campo $ordina