gpt4 book ai didi

postgresql - 根据表列的内容创建表

转载 作者:行者123 更新时间:2023-11-29 13:48:26 28 4
gpt4 key购买 nike

我有下面的 sql,运行时生成这个表

select id, trim(s.my_data) as my_data from my_table t, unnest(string_to_array(t.column_to_parse, ':')) s(my_data)

id | my_data
------------
1 | first
1 | last=bbb
1 | middle=ccc
1 | bottle=ddd

我现在想使用 my_data 的内容创建一个表并拆分 my_data 列,以便“=”之前的第一部分成为列名

例如

id | first | last | middle | bottle
-------------------------------------
1 | | bbb | ccc | ddd

我不能对值进行硬编码,它们每次都会不同,我需要根据表列值创建列名

我该如何实现?

最佳答案

SELECT id,
split_part(parsed[1], '=', 2) AS first,
split_part(parsed[2], '=', 2) AS last,
split_part(parsed[3], '=', 2) AS middle,
split_part(parsed[4], '=', 2) AS bottle
FROM (SELECT id,
string_to_array(column_to_parse, ':') parsed
FROM my_table) q;

id | first | last | middle | bottle
----+-------+------+--------+--------
1 | | bbb | ccc | ddd
(1 row)

关于postgresql - 根据表列的内容创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44632640/

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