SQL问题结合

Ell*_*ott 2 sql

假设您有一个包含两个字段的简单表:帐户和项目:帐户可以包含多个项目.例如:

Account    Item
11         Apples
11         Pears
11         Crackers
12         Apples
12         Bannanas
12         Cookies
13         Pears
13         Carrots
13         Apples
Run Code Online (Sandbox Code Playgroud)

如何编写查询以便我可以选择具有一些指定项目集的所有帐户.例如,我将如何编写查询以便我选择分配了苹果和梨的字段的帐户(在示例帐户11和13中).

谢谢您的帮助.

埃利奥特

Ric*_*iwi 12

您可以构建一个查询,该查询只留下集合中的苹果和梨,然后按帐户分组并计算不同的项目.如果它与预期的计数匹配(在这种情况下为2),则该帐户具有完整集.

select account
from tbl
where item in ('apples','pears')
group by account
having count(distinct item) = 2
Run Code Online (Sandbox Code Playgroud)