提问者:小点点

Where And Where SQL[重复]


我有数据库。我想看有英语和西班牙语字幕的电影。我想这样做sql查询,但它不起作用。

SELECT name,language FROM DvD 
JOIN Subtitles ON  Dvd.dvdID=Subtitle.dvdID 
where language='EN' and language='ES';

但当我试着这样做的时候,它起作用了。

SELECT name,language FROM DvD 
JOIN Subtitles ON  Dvd.dvdID=Subtitle.dvdID 
where language='EN' or language='ES';

共1个答案

匿名用户

如果您想要同时具有以下两种功能的DVD,则实际上需要聚合:

SELECT dvd.name
FROM DvD JOIN
     Subtitles s
     ON Dvd.dvdID = s.dvdID
WHERE s.language IN ('EN', 'ES')
GROUP BY dvd.name
HAVING COUNT(*) = 2;  -- both are present!

您的版本是返回的DVD要么有英语,要么有西班牙语,但不一定都有。