SELECT DISTINCT MOVIES.TITLE, CERTIFICATIONS.ID, PROJECTION.DAY, TIME_SLOTS.SLOT, PROJECTION.REMAINING_SEATS
FROM [...]
Distinto se aplica a todas las columnas de la lista SELECCIONAR. Y sí, no puede usar LOB en GROUP BY, UNION, DISTINCT, etc. porque Oracle no sabe cómo comparar diferentes LOB
Si también desea recuperar BLOB, puede intentar algo como esto:
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;
Pero debes entender lo que estás buscando. Por ejemplo, la consulta anterior agrupa todas las columnas excepto una columna BLOB, las ordena por unas dos columnas y asigna un número de fila a cada fila del grupo. La consulta resultante recupera solo la primera fila de cada grupo