gpt4 book ai didi

postgresql - Postgres : Select columns based on row values

转载 作者:行者123 更新时间:2023-11-29 12:07:41 24 4
gpt4 key购买 nike

我有 2 个表:

表 A

 Section | measure_name   |
---------+----------------|
A | col1 |
B | col2 |
C | col3 |

表 B

 Facility | col1| col2| col3| 
----------+-----+-----+-----+
NY | 5 | 50 | 90 |

我想编写一个查询,从 Table B 中选择 Table Ameasure_name

最佳答案

您似乎想从表 B 中获取与每个 measure_name

对应的列的值

如果是,则使用 UNNEST() 将表 B 转换为行,然后将其与表 A 连接。

with c AS
( SELECT
unnest(array['col1', 'col2', 'col3']) AS colname,
unnest(array[col1, col2, col3]) AS value
FROM B
)
SELECT a.*,c.value FROM A
JOIN C ON a.measure_name = c.colname;

这给了你

Section measure_name value
A col1 5
B col2 50
C col3 90

Demo

关于postgresql - Postgres : Select columns based on row values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53416411/

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