SELECT DISTINCT MOVIES.TITLE, CERTIFICATIONS.ID, PROJECTION.DAY, TIME_SLOTS.SLOT, PROJECTION.REMAINING_SEATS
FROM [...]
Distinct viene applicato a tutte le colonne dell'elenco SELECT. E sì, non puoi utilizzare LOB in GROUP BY, UNION, DISTINCT ecc. Perché Oracle non sa come confrontare diversi LOB
Se vuoi recuperare anche BLOB puoi provare qualcosa del genere:
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;
Ma dovresti capire cosa stai cercando. Ad esempio, la query precedente raggruppa tutte le colonne tranne una colonna BLOB, ordinale in base a due colonne e assegna un numero di riga a ciascuna riga del gruppo. La query risultante recupera solo la prima riga di ogni gruppo