Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 我需要每月对数据进行转置和重新排序,但列名保持不变_Sql Server_Tsql - Fatal编程技术网

Sql server 我需要每月对数据进行转置和重新排序,但列名保持不变

Sql server 我需要每月对数据进行转置和重新排序,但列名保持不变,sql-server,tsql,Sql Server,Tsql,原始文件示例: 请求帮助以转换为此(需要每月运行并更新) 使用UNION,您可以制作如下内容: -- Example table WITH T (A,B,C,D,E,F,[Jan-OCV],[Feb-OCV],[Mar-OCV],[OWNER],[Jan-ACT],[Feb-ACT],[Mar-ACT])AS (SELECT 'AA11','A1',777,'XYZ',222,'aasd',123,231,199,'ZZZZ',123,456,789 UNION ALL SELECT 'B

原始文件示例:

请求帮助以转换为此(需要每月运行并更新)


使用UNION,您可以制作如下内容:

-- Example table
WITH T (A,B,C,D,E,F,[Jan-OCV],[Feb-OCV],[Mar-OCV],[OWNER],[Jan-ACT],[Feb-ACT],[Mar-ACT])AS
(SELECT 'AA11','A1',777,'XYZ',222,'aasd',123,231,199,'ZZZZ',123,456,789
 UNION ALL
 SELECT 'BB22','A2',8777,'XYZZZZ',3333,'bbbbbb',223,433,231,'YYYYY',225,437,231
 UNION ALL
 SELECT 'CC12','A3',9777,'ZZZ',567,'asdfasfdaasd',788,785,789,'TTTTT',599,759,795
)
-- Query 

SELECT A,B,D,C_E,[OWNER],[Month],OCV, ACT, F 
FROM 
(
SELECT A,B,D,NULL as C_E, [OWNER],'Jan' as [Month],[Jan-OCV] as OCV, [Jan-ACT] as ACT, F, 1 as [Order]
FROM T
UNION ALL
SELECT A,B,D,NULL as C_E, [OWNER],'Feb' as [Month],[Feb-OCV] as OCV, [Feb-ACT] as ACT, F, 2 as [Order]
FROM T
UNION ALL
SELECT A,B,D,NULL as C_E, [OWNER],'Mar' as [Month],[Mar-OCV] as OCV, [Mar-ACT] as ACT, F, 3 as [Order]
FROM T
UNION ALL
SELECT A,B,D, C as [C_E], [OWNER],NULL as [Month],C as OCV, NULL as ACT, F, 4 as [Order]
FROM T
UNION ALL
SELECT A,B,D, E as [C_E], [OWNER],NULL as [Month],E as OCV, NULL as ACT, F, 5 as [Order]
FROM T
) as T1 ORDER BY A,B,D,[Order]

大家好,欢迎来到SO。您需要在问题中提供一些实际细节,以便我们提供帮助。没有解释的模糊数据截图是行不通的。这是一个很好的起点。这几乎毫无意义。我会问一些人,为什么他们想要三个由两个轴组成的轴序列,然后是两个任意轴。我会把源数据做成第一张纸,然后把它做成第二张,但是为什么有人想把两个独立的列合并成一个共享列,而不指定是什么?谢谢,这很有帮助。regards@ANASI-新手欢迎使用堆栈溢出。如果这个答案对你有用,请