gpt4 book ai didi

SQL:键值:列中的值?

转载 作者:行者123 更新时间:2023-12-05 01:48:42 24 4
gpt4 key购买 nike

我的表格是这样的:

+--------------------------+
| key | value-name | value |
+-----+------------+-------+
| 1 | color | green |
| 1 | height | 15 |
| 2 | whatever | lol |
+-----+------------+-------+

我想把它翻转成这样:

+-----+-------+--------+----------+
| key | color | height | whatever |
+-----+-------+--------+----------+
| 1 | green | 15 | --- |
| 2 | --- | --- | lol |
+-----+-------+--------+----------+

像这样的sql:

SELECT key AS k,
(SELECT color FROM table WHERE key = k),
(SELECT height FROM table WHERE key = k), ...

...等等

如何在不为每个值名称创建子选择的情况下完成(因为我相信这不是很快)?

我的 DBS 是 Oracle 10g。

编辑:后来我找到了一些例子,但他们都只是加入,我不能这样做,因为我的表有很多值名称。

最佳答案

select 
key
, max( case value-name when 'color' then value else NULL end) as color
, max( case value-name when 'heght' then value else NULL end) as height
, max( case value-name when 'whatever' then value else NULL end) as whatever
from
table
group by key

关于SQL:键值:列中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6939178/

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