Как конвертировать INTERSECT из SQLite в MySQL - PullRequest
0 голосов
/ 27 января 2012

Я написал запрос в SQLite, который работает, но теперь мне нужно использовать его в MySQL, но я не могу конвертировать INTERSECT

Запрос:

SELECT year FROM Movie,Rating 
WHERE Movie.mID=Rating.mID AND (stars='4' OR stars='5') 

INTERSECT 

SELECT year FROM Movie,Rating WHERE Movie.mID=Rating.mID AND (stars='4' OR stars='5') 

ORDER BY year ASC 

Я пытался использовать INNER JOIN, чтобы LEFT JOIN, но я не получил правильный результат. Могу ли я получить несколько предложений?

1 Ответ

1 голос
/ 28 января 2012

Похоже, вы просто используете оператор 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...