io ho una query sql che mi da come risultato una roba del tipo

codice:
CATEGORIA_1  PRODOTTO1
CATEGORIA_1  PRODOTTO2
CATEGORIA_1  PRODOTTO3
CATEGORIA_2  PRODOTTO1
CATEGORIA_2  PRODOTTO2
CATEGORIA_3  PRODOTTO1
...
dovrei fare in modo che mi risultasse una roba del tipo:

codice:
CATEGORIA_1 PRODOTTO1, PRODOTTO2, PRODOTTO3
CATEGOTIA_2 PRODOTTO1, PRODOTTO2
CATEGORIA_3 PRODOTTO1
...
l'unica soluzione che mi è venuta in mente è di ordinare i risultati per id progressivo (ogni categoria ha un id) e fare una roba del tipo mettere in una variabile l'ultimo id e se quello dopo è uguale invece di stampare una nuova riga (una nuova categoria) la metto sulla stessa.
peccato che debba ordinare le categorie per nome ed inoltre mi sembra una soluzione un pò ortodossa...
consigli?