【发布时间】:2013-09-10 21:32:48
【问题描述】:
我有以下表格和数据:
CREATE TABLE SourceTbl ([Code] varchar(3), [Total] decimal, [Date] datetime );
INSERT INTO SourceTbl ([Code], [Total], [Date])
VALUES ('AA', 100, '2012-12-01'), ('AA', 200, '2013-02-01'), ('BB', 50, '2012-01-01');
一个简单的选择就会返回
Code | Total | Date
'AA' | 100 | 2012-12-01
'AA' | 200 | 2013-02-01
'BB' | 50 | 2012-01-01
但我需要的是以下内容
Code | Total | Date | Total | Date
'AA | 200 | 2013-02-01 | 100 | 2012-12-01
'BB | 50 | 2012-01-01 | null | null
我一直在尝试使用 PIVOT 运算符执行此操作,但没有成功(基于问题 SQL Server Pivot multiple columns based on one column)。
使用该示例,我得到的只是两行空值。
Total/Date 列可以重复 13 次,并且必须按 Date DESC 排序。
SQL 小提琴:http://sqlfiddle.com/#!3/f37a1/2
感谢任何帮助! 谢谢!
【问题讨论】:
-
PIVOT+Row_NUMBER()救援。
标签: sql sql-server azure-sql-database