SELECT DISTINCT MOVIES.TITLE, CERTIFICATIONS.ID, PROJECTION.DAY, TIME_SLOTS.SLOT, PROJECTION.REMAINING_SEATS
FROM [...]
Distinct est appliqué à toutes les colonnes de la liste SELECT. Et oui, vous ne pouvez pas utiliser les LOB dans GROUP BY, UNION, DISTINCT etc car Oracle ne sait pas comment comparer différents LOB
Si vous souhaitez également récupérer BLOB, vous pouvez essayer quelque chose comme ceci :
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;
Mais vous devez comprendre ce que vous cherchez. Par exemple, la requête ci-dessus regroupe toutes les colonnes à l'exception d'une colonne BLOB, les classe par deux colonnes environ et attribue un numéro de ligne à chaque ligne du groupe. La requête résultante récupère uniquement la première ligne de chaque groupe