SELECT DISTINCT MOVIES.TITLE, CERTIFICATIONS.ID, PROJECTION.DAY, TIME_SLOTS.SLOT, PROJECTION.REMAINING_SEATS
FROM [...]
Berbeda diterapkan ke semua kolom dari daftar SELECT. Dan ya, Anda tidak dapat menggunakan LOB di GROUP BY, UNION, DISTINCT dll karena Oracle tidak tahu cara membandingkan LOB yang berbeda
Jika Anda ingin mengambil BLOB juga, Anda dapat mencoba sesuatu seperti ini:
SELECT MOVIES.TITLE, CERTIFICATIONS.ID,
PROJECTION.DAY, TIME_SLOTS.SLOT, PROJECTION.REMAINING_SEATS, IMAGES.IMAGE
FROM (
SELECT MOVIES.TITLE, CERTIFICATIONS.ID,
PROJECTION.DAY, TIME_SLOTS.SLOT, PROJECTION.REMAINING_SEATS, IMAGES.IMAGE,
row_number() over (partition by MOVIES.TITLE, CERTIFICATIONS.ID, PROJECTION.DAY, TIME_SLOTS.SLOT, PROJECTION.REMAINING_SEATS
order by PROJECTION.DAY, TIME_SLOTS.SLOT) RW
FROM [...]
) WHERE RW = 1;
Tetapi Anda harus memahami apa yang Anda cari. Misalnya, kueri di atas mengelompokkan semua kolom kecuali kolom BLOB, mengurutkannya menurut dua kolom dan menetapkan nomor baris untuk setiap baris dalam grup. Kueri yang dihasilkan hanya mengambil baris pertama di setiap grup