Oracle SQL选择等效于多个和



也许您可以帮助我。我实际上在Oracle平台上学习SQL,并且有几个练习。

其中之一是为我努力,我不能正确完成它...

这是练习:在所有组织中,哪个国家是哪个国家的成员,那里也是?是?

我有多个表,但我认为此任务只有一个。

tablename:ismember(缩写(FK(,乡村(FK((

,桌子看起来像:

Country   /  Abbreviation
    USA   /      G-5
    USA   /      G-7
    USA   /      G-9
   Canada /      G-7
   Canada /      G-9
   Norway /      G-20 

等等....

我如何找到名单中的每个国家/地区也是所有组织的成员

非常感谢!

这是一个棘手的问题。一种方法是与美国和组织所在的国家和组织建造所有行。然后,计算每个国家的数字,看看它们是否匹配:

select c.country
from (select distinct country from isMember) c cross join
     (select abbreviation from isMember where country = 'USA') a left join
     isMember im
     on im.country = c.country and im.abbreviation = a.abbreviation
group by c.country
having count(*) = count(im.country);  -- do all organizations match?

最新更新