SQL-仅显示具有特定奖励的用户

时间:2014-05-01 16:35:13

标签: sql relational-division

我有一个类似于

的Access用户数据库
UserName |
Award |
DateGiven

我们分配各种类型的奖项。每个奖项分配都有一个单独的条目。我需要能够找到哪些用户已被分配3个特定奖项。

例如:

我们分配奖励a,b,c,d,e和f。

john, a, 01/01/14|
bill, b, 02/02/14|
john, c, 01/02/14|
mary, a, 01/01/14|
sue, e, 01/01/14|
john, b, 01/01/14|

我需要能够显示哪些用户已被分配奖励a和b和c,所以从上面它只会显示John。

想法?

2 个答案:

答案 0 :(得分:4)

select username
from your_table
where award in ('a','b','c')
group by username
having count(distinct award) = 3

答案 1 :(得分:0)

select username
from your_table
where award in ('a','b','c','d','e','f');