gpt4 book ai didi

sql-server - SQL Server - 将行转置为列

转载 作者:行者123 更新时间:2023-12-02 07:41:26 26 4
gpt4 key购买 nike

我到处搜索这个问题的答案,如果已经回答,我深表歉意!我从 SQL 2005 中的查询得到以下结果:

ID

1234

1235

1236

1267

1278

我想要的是

column1|column2|column3|column4|column5
---------------------------------------
1234 |1235 |1236 |1267 |1278

我不太了解枢轴运算符,但这看起来会涉及到它。我现在可以只处理 5 行,但好处是它是动态的,即可以扩展到 x 行。

编辑:我最终要做的是将每个结果列的值分配给变量,例如

DECLARE @id1 int, @id2 int, @id3 int, @id4 int, @id5 int

SELECT @id1 = column1, @id2 = column2, @id3 = column3, @id4 = column4,
@id5 = column5 FROM [transposed_table]

最佳答案

您还需要在查询中为每个要聚合的 ID 提供一个值字段。然后你可以做这样的事情

select [1234], [1235]
from
(
-- replace code below with your query, e.g. select id, value from table
select
id = 1234,
value = 1
union
select
id = 1235,
value = 2
) a
pivot
(
avg(value) for id in ([1234], [1235])
) as pvt

关于sql-server - SQL Server - 将行转置为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10699997/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com