我有两个山坳的SQL:提取不同的值
EmpID Beneifts
1 A
1 B
2 A
3 A
3 c
4 A
我的预期产出表仅仅是EMPID只有福利一个
EmpID Benefits
2 A
4 A
请帮我查询。
我有两个山坳的SQL:提取不同的值
EmpID Beneifts
1 A
1 B
2 A
3 A
3 c
4 A
我的预期产出表仅仅是EMPID只有福利一个
EmpID Benefits
2 A
4 A
请帮我查询。
使用NOT EXISTS
返回相同的EmpID的一排没有任何好处,但 'A':
select *
from tablename t1
where t1.Benefits = 'A'
and not exists (select 1 from tablename t2
where t2.EmpID = t1.EmpID
and t2.Benefits <> 'A')
或者,做一个GROUP BY
:
select EmpID
from tablename
group by EmpID
having min(Benefits) = 'A'
and max(Benefits) = 'A'
分享你的研究可以帮助大家。告诉我们你试过了什么,以及它为什么不符合你的需求。这表明你已经花时间去尝试帮助自己,它使我们避免重申明显的答案,最重要的是它可以帮助你得到更具体和相关的答案!另见[问]。请记住** SO不是免费的代码服务** –