我在这里遇到一个小问题。
我需要找出哪部电影有2种类型
SELECT v.explanation
FROM v, g
WHERE
g.Video_ID = v.Video_ID AND
g.Explanation= "Genre1" AND
g.Explanation= "Genre2";
当我只使用一个时,它返回null。
答案 0 :(得分:1)
首先,始终使用显式JOIN
语法。 从不在FROM
子句中使用逗号。
然后,您可以使用GROUP BY
和HAVING
SELECT v.Bezeichnung
FROM video v JOIN
hat_genre g
ON g.Video_ID = v.Video_ID
WHERE g.Bezeichnung IN ('Horror', 'Thriller')
GROUP BY v.Bezeichnung
HAVING COUNT(DISTINCT g.Bezeichnung) = 2;
附加说明:
IN
是测试多个值的最有效方法。