SELECT DISTINCT MOVIES.TITLE, CERTIFICATIONS.ID, PROJECTION.DAY, TIME_SLOTS.SLOT, PROJECTION.REMAINING_SEATS
FROM [...]
Distinto é aplicado a todas as colunas da lista SELECT. E sim, você não pode usar LOBs em GROUP BY, UNION, DISTINCT etc porque o Oracle não sabe comparar LOBs diferentes
Se você quiser recuperar o BLOB também, tente algo assim:
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;
Mas você deve entender o que você está procurando. Por exemplo, a consulta acima agrupa todas as colunas, exceto uma coluna BLOB, ordene-as por cerca de duas colunas e atribua um número de linha a cada linha do grupo. A consulta resultante recupera apenas a primeira linha em cada grupo