作者TeemingVoid (TeemingVoid)
看板Database
标题Re: [SQL ] 查询同一table某栏位相异的资料
时间Wed Jan 4 23:30:53 2012
※ 引述《woohyuk49 (Forever H.O.T)》之铭言:
: 不好意思 请问一下
: TABLE
: 客户编号 A 购买日期 B 购买产品 C 购买编号 D
: 1 1000105 AA 01
: 2 1000505 AB 02
: 3 1001010 DD 03
: 1 1000105 AA 02
: 不好意思 若表达的意思有不好 请见谅
: 我想SELECT出 同样的客户编号、购买日期、购买产品 但不同的购买编号
: 请问我该怎麽处理呢?
: 我想得到这个结果
: 客户编号 A 购买日期 B 购买产品 C 购买编号 D
: 1 1000105 AA 01
: 1 1000105 AA 02
刚才用 MS-SQL 试了一下,请看看合不合用? :-)
我的方法是以「客户编号、购买日期、购买产品」进行分组并统计笔数,
笔数超过一笔以上的,就是有「不同的购买编号」的资料。
create table #Lab
(
CustomerID int,
OrderDate char(10),
ProductID char(2),
OrderNo int
)
insert into #Lab values (1, '2012-01-05', 'AA', 1)
insert into #Lab values (2, '2012-01-05', 'AB', 2)
insert into #Lab values (3, '2012-01-10', 'DD', 3)
insert into #Lab values (1, '2012-01-05', 'AA', 2)
insert into #Lab values (2, '2012-01-10', 'AA', 3)
select * from #Lab
where CustomerID in
(select CustomerID from #Lab
group by CustomerID, OrderDate, ProductID
having COUNT(*) > 1)
drop table #Lab
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.252.125.215
1F:推 woohyuk49:真的非常的感谢您 :) 我试是可以的 感恩 01/05 08:36