也许您可以帮助我。我实际上在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?