我向SQLite编写了一个可以工作的查询,但现在我必须在MySQL中使用它,但我不能转换交集
查询为:
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 我试着使用左连接的内部连接,但我没有得到正确的结果。我能有一些建议吗?
发布于 2012-01-28 05:32:18
看起来您只是使用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两边的引号。
https://stackoverflow.com/questions/9038877
复制相似问题