我正试着从这张桌子上挑选出说完全相同语言(法语、意大利语和俄语)的人。很明显,它应该只返回Maja:
PERSON LANG
---------- ----------
Ann English
Ann Japanese
Bill English
Bill Japanese
Bill Russian
Chris English
Chris Russian
David English
David Japanese
David Russian
Ernie English
Ernie French
Ernie Japanese
Fumie Japanese
Fumie Korean
Maja French
Maja Italian
Maja Russian 可以理解的是,我的代码不能工作,因为名称是重复的,这个查询返回0的结果:
SELECT DISTINCT PERSON
FROM SPEAKS
WHERE LANG = 'French'
AND LANG = 'Russian'
AND LANG = 'Italian';任何帮助,这将是非常感谢,因为我不知道如何处理这些重复的名字。
发布于 2016-03-01 06:09:17
试试这个:
SELECT PERSON
FROM SPEAKS
WHERE LANG IN( 'French', 'Russian', 'Italian')
GROUP BY PERSON
HAVING COUNT(DISTINCT LANG) = 3只有当您有副本时,才需要COUNT内部的COUNT,即与一个人不止一次相关的同一种语言。
https://stackoverflow.com/questions/35715841
复制相似问题