如何将一行文本从一个查询的结果转换为一个字符串,可以在PostgreSQL中的另一个查询中使用?

toe95027  于 2022-11-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(79)

我有一个这样的查询:

select value from some_table_name where key='some_key'

结果仅为1行。它是一个带逗号的文本

apple,banana,orange

我如何在下面的查询中使用该结果?

SELECT unnest(
  string_to_array('use above text from query in here', ',')
) AS parts;
kadbb459

kadbb4591#

您可以直接在FROM子句中使用unnest:

select u.* 
from some_table_name t
  cross join unnest(string_to_array(t.value, ',')) as u(val)
where t.key='some_key';

或者使用最新版本的Postgres:

select u.* 
from some_table_name t
  cross join string_to_table(t.value, ',') as u(val)
where t.key='some_key'

相关问题