作者TeemingVoid (TeemingVoid)
看板Database
标题Re: [SQL ] 查询同一表格但某栏位相异的资料
时间Wed Jul 25 01:41:05 2012
※ 引述《woohyuk49 (Forever H.O.T)》之铭言:
: 不好意思 请问一下
: TABLE
: 客户编号 信用卡号 结帐人员
: 1 0001 A
: 1 0002 B
: 1 0002 C
: 1 0003 A
: 2 0001 A
: 2 0001 A
: 2 0002 A
: 不好意思 若表达的意思有不好 请见谅
: 我想SELECT出 同样的客户编号、信用卡号、但不同的结帐人员
: 请问我该怎麽处理呢?
: 我想得到这个结果
: 客户编号 信用卡号 结帐人员
: 1 0002 B
: 1 0002 C
create table Lab
(
CustomerID int,
CardID char(4),
ClerkID char(1)
)
go
insert into Lab values (1, '0001', 'A')
insert into Lab values (1, '0002', 'B')
insert into Lab values (1, '0002', 'C')
insert into Lab values (1, '0003', 'A')
insert into Lab values (2, '0001', 'A')
insert into Lab values (2, '0001', 'A')
insert into Lab values (2, '0002', 'A')
insert into Lab values (2, '0001', 'B') -- 我多加了这笔实验资料
go
-- 采用 self-join,利用 on 条件比对您要的资料,
-- 最後用 distinct 排除重复的记录。
select distinct L.CustomerID, L.CardID, L.ClerkID
from Lab L join Lab R
on (L.CustomerID = R.CustomerID
and L.CardID = R.CardID
and L.ClerkID <> R.ClerkID)
order by L.CustomerID, L.CardID
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.170.134.191