- DECLARE @t TABLE (FID int, 单号 nvarchar(11), 单位 nvarchar(10), 科室 nvarchar(10), 金额 money)
- INSERT @t VALUES(1,'20110402001','A','A',100)
- INSERT @t VALUES(2,'20110402002','A','A1',100)
- INSERT @t VALUES(3,'20110402003','A','A1',100)
- INSERT @t VALUES(4,'20110402004','A','A2',100)
- INSERT @t VALUES(5,'20110402005','A','A2',100)
- INSERT @t VALUES(6,'20110402006','B','B',100)
- INSERT @t VALUES(7,'20110402007','B','B1',100)
- INSERT @t VALUES(8,'20110402008','B','B2',100)
- IF Object_ID('tempDB..#t') Is Not Null
- Drop Table #t
- SELECT Identity(int,1,1) FID, * INTO #t
- FROM (
- SELECT 单位, 单位 科室, Sum(金额) 金额
- FROM @t GROUP BY 单位 UNION ALL
- SELECT 单位, 科室, Sum(金额) 金额
- FROM @t WHERE 单位 <> 科室 GROUP BY 单位, 科室
- ) A ORDER BY 1, 2
- SELECT * FROM #t
复制代码 FID 单位 科室 金额
----------- ---------- ---------- ---------------------
1 A A 500.00
2 A A1 200.00
3 A A2 200.00
4 B B 300.00
5 B B1 100.00
6 B B2 100.00 |