gpt4 book ai didi

mysql - 将单表行+列名转换成列

转载 作者:行者123 更新时间:2023-11-29 02:51:49 25 4
gpt4 key购买 nike

我有一个简单的 SQL 选择查询,它返回以下结果(单行):

 [0]  [1]  [2]  [3] [13] (column headings)
5102 4516 31 95 2 (row data)

使用 SQL,我需要将其转换为返回两列(5 行),如下所示:

[id]  [val]
0 5102
1 4516
2 31
3 95
13 2

我希望能够使用 pivot 或类似的东西来做到这一点。

用于生成第一个(单行)结果的 SQL 查询:

 SELECT * FROM TABLE WHERE KEY = BLAH

最佳答案

您需要反透视数据

对于SQL Server,使用交叉应用。试试这个

SELECT id,val
FROM yourtable
CROSS apply (VALUES ([0],'0'),
([1],'1'),
([2],'2'),
([3],'3'),
([13],'13')) cs (val,id)

或者使用Union ALL来反透视数据

SELECT [0] AS val,'0' AS id
FROM yourtable
UNION ALL
SELECT [1],'1'
FROM yourtable
UNION ALL
SELECT [2],'2'
FROM yourtable
UNION ALL
SELECT [3],'3'
FROM yourtable
UNION ALL
SELECT [13],'13'
FROM yourtable

关于mysql - 将单表行+列名转换成列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34847280/

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