我有一个具有名义代码余额的视图。
我在每一行上都有名义代码,每列中的jan-dec
jan-dec我想更改,以便每个名义代码有12行(每个月为1行)
我正在创建查询SQL Server Management Studio-然后可以将此视图拉入SAGE。当前视图是
SELECT TOP (1000) [AccountNumber]
,[Jan17]
,[Feb17]
,[Mar17]
,[Apr17]
,[May17]
,[Jun17]
,[Jul17]
,[Aug17]
,[Sep17]
,[Oct17]
,[Nov17]
,[Dec17]
From Sage_200.dbo.NominalBalance
我每个月都需要为每个名义代码而不是一行都有一行,并且每个月都有自己的列。
谢谢
这是一个很好的链接SQL Server:列到行基于您的问题,不分散看起来像这样。
USE SANDBOX
DROP TABLE T
CREATE TABLE T(CDE INT,JAN INT,FEB INT,MAR INT,APR INT,MAY INT,JUN INT,JUL INT,AUG INT,SEP INT,OCT INT,NOV INT,DEC INT)
GO
TRUNCATE TABLE T
INSERT INTO T VALUES (111,1,2,3,4,5,6,7,8,9,10,11,12),(222,13,14,15,16,17,18,19,20,21,22,23,24)
SELECT CDE,MTH,VALUE
FROM T
UNPIVOT (VALUE FOR MTH IN (JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC)) UPVT
结果
CDE VALUE
----------- ---- -----------
111 JAN 1
111 FEB 2
111 MAR 3
111 APR 4
111 MAY 5
111 JUN 6
111 JUL 7
111 AUG 8
111 SEP 9
111 OCT 10
111 NOV 11
111 DEC 12
222 JAN 13
222 FEB 14
222 MAR 15
222 APR 16
222 MAY 17
222 JUN 18
222 JUL 19
222 AUG 20
222 SEP 21
222 OCT 22
222 NOV 23
222 DEC 24
(24 row(s) affected)