流水号 订单号 订单行号 订单数量 生产线 工时
001 A01 1 50 A 50
002 A01 2 60 A 30
003 A01 1 50 B 50
希望得到的结果:显示订单号和订单行号重复的数据
流水号 订单号 订单行号 订单数量 生产线 工时
001 A01 1 50 A 50
003 A01 1 50 B 50
------解决方案--------------------
----------------------------------------------------------------
-- Author :DBA_HuangZJ(發糞塗牆)
-- Date :2014-07-03 16:55:00
-- Version:
-- Microsoft SQL Server 2012 - 11.0.5058.0 (X64)
-- May 14 2014 18:34:29
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)
--
----------------------------------------------------------------
--> 测试数据:[TB]
if object_id('[TB]') is not null drop table [TB]
go
create table [TB]([流水号] varchar(3),[订单号] varchar(3),[订单行号] int,[订单数量] int,[生产线] varchar(1),[工时] int)
insert [TB]
select '001','A01',1,50,'A',50 union all
select '002','A01',2,60,'A',30 union all
select '003','A01',1,50,'B',50
--------------开始查询--------------------------
--方法1
SELECT *
FROM tb a
WHERE EXISTS ( SELECT 1
FROM ( SELECT 订单号 ,
订单行号
FROM tb
GROUP BY 订单号 ,
订单行号
HAVING COUNT(1) > 1
) b
WHERE a.订单号 = b.订单号
AND a.订单行号 = b.订单行号 )
--方法2
SELECT [流水号] ,
[订单号] ,
[订单行号] ,
[订单数量] ,