gpt4 book ai didi

sql - 给定表数据的期望输出

转载 作者:行者123 更新时间:2023-12-04 03:04:13 26 4
gpt4 key购买 nike

您好,我有一个测试表,其结构如下:

**Testing**

PK C1 c2
---------------
1 v11 v12
2 v21 v23
3 v31 v32

现在我需要查询此表(测试)以便获得以下输出。

 Pk  Key value 
---------------
1 c1 v11
1 c1 v12
2 c2 v21
2 c2 v22
3 c3 v31
3 c3 v32

Oracle 11g 中的 sql 查询可以实现吗,11g 中的 PIVOT 功能可以实现吗?

最佳答案

不,这不能用 PIVOT 完成, 但它可以 <b>UN</b>PIVOT 完成:

SELECT
Pk,
"Key",
value
FROM Testing
UNPIVOT (
value FOR "Key" IN (C1, C2)
)

UNPIVOT不可用,我经常像这样取消旋转:

SELECT
t.Pk,
x."Key",
CASE x."Key"
WHEN 'C1' THEN t.C1
WHEN 'C2' THEN t.C2
END AS value
FROM Testing t
CROSS JOIN (
SELECT 'C1' AS "Key" FROM DUAL UNION ALL
SELECT 'C2' FROM DUAL
) x

关于sql - 给定表数据的期望输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9408622/

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