Tim Hall có một danh sách khá chuẩn về các kỹ thuật tổng hợp chuỗi trong Oracle.
Kỹ thuật bạn sử dụng phụ thuộc vào một số yếu tố bao gồm cả phiên bản của Oracle và liệu bạn có đang tìm kiếm một giải pháp SQL thuần túy hay không. Nếu bạn đang sử dụng Oracle 11.2, tôi có thể khuyên bạn nên sử dụng LISTAGG
SELECT column1, listagg( column2, ',' ) WITHIN GROUP( order by column2 )
FROM table_name
GROUP BY column1
Nếu bạn đang sử dụng phiên bản Oracle cũ hơn, giả sử bạn không cần một giải pháp SQL thuần túy, tôi thường thích sử dụng phương pháp tiếp cận hàm tổng hợp do người dùng xác định.