Похоже, вы просто используете оператор INTERSECT
для удаления дубликатов. Есть гораздо более простой способ сделать это, SELECT DISTINCT
:
SELECT DISTINCT year FROM Movie, Rating
WHERE Movie.mID=Rating.mID AND (stars='4' OR stars='5')
ORDER BY year ASC
Если это не работает, попробуйте выразить объединение напрямую, а не в предложении WHERE
:
SELECT DISTINCT year
FROM Movie NATURAL JOIN Rating ON mID
WHERE (stars='4' OR stars='5')
ORDER BY year ASC
Кроме того, убедитесь, что тип данных для stars
не является числовым, если вместо строки вам понадобится целое число, то вам нужно удалить кавычки вокруг 4
и 5
.