我有兩個山坳的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不是免費的代碼服務** –