Postgresql:在简单 SQL 问题的 IN 语句中的临时表中使用 av 变量字符串值

问题描述 投票:0回答:1

我正在尝试在 Postgresql 中制作一个简单的 SQL 问题以在我们团队中使用 与信息管理一起使用:

with findData as
(
select '(''XXX'',''YYYY'')' as dataList
)
select * from findData

给出答案:

('XXX','YYYY') 正是我想要的

但是我想在一个简单的 SQL 脚本中像这样使用它:

select t.variabel1
      ,t.variabel2
from myTable t
where t.variabel3 in (select dataList from findData);

但这行不通。 。 .

我的问题有解决了吗?

参见上面的描述。

sql string postgresql variables
1个回答
0
投票

目前,数据列表被视为单个字符串值。因此,要使用“IN”,您需要将它们分开。可以这样做。

with findData as (
    select unnest(array['XXX', 'YYYY']) as dataList
)
select t.variabel1, t.variabel2
from myTable t
where t.variabel3 in (select dataList from findData);

unnest 函数用于将数组展开为行。

© www.soinside.com 2019 - 2024. All rights reserved.