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

怎么筛选出这样的记录?
编号                 活动ID         内容                                                   工号
CZZ-0701039     110     此订单超交,需退回                             11111061
CZZ-0701039     120               OK                                                 11110833
CZZ-0701039     130               OK                                                 11111061
CZZ-0701039     140               123                                               11121408
CZZ-0701039     140               123                                               11121408
CZZ-0701039     150               OK                                                 11121408
CZZ-0701039     160               OK                                                 11121408

--------------------------
我想筛选出同一編號中 "活動ID "為110與130工號不同的記錄,請問語句怎樣寫?

謝謝!


------解决方案--------------------
create table T(编号 varchar(20), 活动ID int, 内容 varchar(20), 工号 varchar(20))
insert T select 'CZZ-0701039 ', '110 ', '此订单超交,需退回 ', '11111061 '
union all select 'CZZ-0701039 ', '120 ', 'OK ', '11110833 '
union all select 'CZZ-0701039 ', '130 ', 'OK ', '11111061 '
union all select 'CZZ-0701039 ', '140 ', '123 ', '11121408 '
union all select 'CZZ-0701039 ', '140 ', '123 ' , '11121408 '
union all select 'CZZ-0701039 ', '150 ', 'OK ', '11121408 '
union all select 'CZZ-0701039 ', '160 ', 'OK ', '11121408 '

select * from T as A
where 工号 not in(
select distinct 工号 from T where 活动ID in(110, 130) and 编号=A.编号
)

--result
编号 活动ID 内容 工号
-------------------- ----------- -------------------- --------------------
CZZ-0701039 120 OK 11110833
CZZ-0701039 140 123 11121408
CZZ-0701039 140 123 11121408
CZZ-