gpt4 book ai didi

SQL Server 2005,把列变成行

转载 作者:行者123 更新时间:2023-12-04 11:18:07 24 4
gpt4 key购买 nike

我正在尝试将 table 旋转 90 度:使列成为行。由于 PIVOT 需要聚合函数,因此不允许使用 PIVOT。

例子:
我有一个包含列的表:
身份证号码,
ISO字符(2),
文本 varchar(255)。

所以我有这个:

ID ISO 文本
--- --- ----
1 德汽车
2 CN 汽车

我想得到以下内容:

身份识别
--- --- ----
1 汽车 汽车

你如何做到这一点?

最佳答案

This answer is really frantisek's ,我只是复制到这里纠正错误(我不能直接编辑)。

基本上,您可以使用该解决方案,并进行调整:

SELECT 
max(DE) as DE, max(EN) as EN
FROM
test
PIVOT (MAX([text]) FOR ISO in (DE,EN)) p

这会将内容放入一行。此外,它会删除 ID,因为如果您想要单行(没有逻辑指示合并到单行时如何处理它),这没有意义。

此外,假设 ISO 列中的值是唯一的,否则会由于 MAX aggregate 而丢失数据。 .

关于SQL Server 2005,把列变成行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/428041/

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