gpt4 book ai didi

python - 根据列值返回SQL Server列名和对应的值

转载 作者:行者123 更新时间:2023-11-30 22:16:49 25 4
gpt4 key购买 nike

如何根据每条记录的列值返回列名称和值?

我有这个: I have this

我想更新

颜色名称具有最高值的first_color

first_value 具有最高值等,如下面的代码片段所示。

注意:这只是一个示例,我有 100 多个列,我需要前 5 个列/值的列名称和值。因此,如果可能的话,寻找动态sql。

I want this

到目前为止,我使用的是交叉应用。

enter image description here

最佳答案

SQL Server 方法

也许将 CROSS APPLY 与 ROW_NUMBER() 配合使用

示例

Select A.* 
,B.*
from YourTable2 A
Cross Apply (Select First_Color = max(case when RN=1 then Item end)
,First_Value = max(case when RN=1 then Value end)
,Second_Color = max(case when RN=2 then Item end)
,Second_Value = max(case when RN=2 then Value end)
From (Select *,RN=Row_Number() over (Order by Value Desc)
From ( values ('Red',Red)
,('Green',Green)
,('Blue',Blue)
,('Black',Black)
) B1 (Item,Value)
) B2
) B

返回

unique_id   Red Green   Blue    Black   First_Color First_Value Second_Color    Second_Value
abc12 1 2 4 7 Black 7 Blue 4
mnc23 2 4 1 3 Green 4 Black 3

关于python - 根据列值返回SQL Server列名和对应的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49847534/

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