【发布时间】:2021-10-13 10:19:34
【问题描述】:
我在一些动态的 postgresql 上有点挣扎: 我有一个名为“list_columns”的表,其中包含以“column_name”作为变量名的列名列表;这些列名来自一个名为“input_table”的输入表。
[list_columns]
| column_name |
|---|
| col_name_a |
| col_name_b |
| col_name_c... |
[输入表]
| col_name_a | col_name_b | col_name_c | col_name_d | col_name_e |
|---|---|---|---|---|
| value_a_1 | value_b_1 | value_c_1 | value_d_1 | value_e_1 |
| value_a_2 | value_b_2 | value_c_2 | value_d_2 | value_e_2 |
| ... | ... | ... | ... | ... |
我想做的是使用该列表动态创建一个新表,如下所示:
create table output_table as
select (select distinct(column_name) seperated by "," from list_columns) from input_table;
结果表将是 [输出表]
| col_name_a | col_name_b | col_name_c |
|---|---|---|
| value_a_1 | value_b_1 | value_c_1 |
| value_a_2 | value_b_2 | value_c_2 |
| ... | ... | ... |
我看到我应该使用一些执行程序,但我不知道该怎么做。
注意:我知道我可以直接选择 3 列;我把这个案子简单化了。
如果有人愿意在这方面帮助我,
谢谢你, 问候, 乔纳森
【问题讨论】:
-
与您的问题无关,但是:Postgres 9.4 是no longer supported,您应该尽快计划升级。
标签: postgresql-9.4