gpt4 book ai didi

sql-server - 在 MS SQL 中将行转换为列

转载 作者:行者123 更新时间:2023-12-03 00:06:53 25 4
gpt4 key购买 nike

我正在寻找一种在 MS SQL Server 中将行转换为列的有效方法。

数据库表示例:

**ID    PersonID    Person201Code   Person201Value**
1 1 CurrentIdNo 0556
2 1 FirstName Queency
3 1 LastName Sablan

查询结果应该是这样的:

**CurrentIdNo     FirstName         LastName**
0556 Queency Sablan

我尝试使用 PIVOT,但它只在行值上返回 null:

SELECT CurrentIdNo, FirstName, LastName
FROM

(
SELECT ID, PersonId, Person201Code, Person201Value
FROM HRPerson201
) src
PIVOT
(
MAX (ID)
FOR Person201Code in (CurrentIdNo, Firstname, LastName))
pvt;

如何在 MS SQL Server 中成功将行转换为列?谢谢!

最佳答案

从数据透视源查询中删除 ID 并添加 Person201Value 数据透视聚合而不是ID

SELECT CurrentIdNo,
FirstName,
LastName
FROM (SELECT PersonId,
Person201Code,
Person201Value
FROM HRPerson201) src
PIVOT ( Max (Person201Value)
FOR Person201Code IN (CurrentIdNo,
Firstname,
LastName)) pvt;

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

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