日期:2014-05-18  浏览次数:20672 次

三次求助!!!关于 group by 另类用法

如上面。
我想用group by 条件是 工号下面 车间为 L and 状态= '完成'
  
比如 0111-01下面有 车间为L的记录 要他们的状态全部都等于 '完成'
0111-01这条信息才显示!
再如  
0111-02里面 车间记录为 L的有两条。但其中有一条状态不等于 '完成'
所以就不显示 0111-02这条结果
最终我需要的结果如下:  
0111-01 山西
0111-03 圣歌班
希望高手们能帮我想个简单的办法!!
三次求助了啊!!!!!

------解决方案--------------------
select
工号,用户 
from
 tbl a 
where
 车间 = 'L'
and not exists(select 1 from(select * from tbl where 车间 = 'L' and 状态 <> '完成' )b
 where a.工号 = b.工号 and a.用户 = b.用户)
group by 
 工号 , 用户