将查询结果存储在变量中以在Postgresql中的另一个查询中使用

时间:2016-01-04 07:50:27

标签: postgresql

我是Postgresql的新手。请帮我解决一下。

假设我有三个名为'table_1'的表,'table_2'和& 'TABLE_3'

我想从table_3获取与table_1和table_2

相关的数据

例如我从table_1和table_2

中检索value_1和value_2

查询1:

Select value_1 From table_1

查询2:

Select value_2 From table_2

现在我想在table_3中使用这些值

查询3:

Select * from table_3 where column_1 = value_1 and column_2 = value_2

如何在变量中存储前2个值并在第三个查询中使用它?

1 个答案:

答案 0 :(得分:4)

您可以使用以下查询:

with v1 as (select value_1 from table_1),
     v2 as (select value_2 from table_2)
select * from table_3 where column_1 = v1 and column_2 = v2;

如果v1和v2具有多行,则可以使用“ in”运算符代替“ =”运算符。

有关更多信息,请查看PostgreSQL文档here

您还可以在Stackoverflow here上查看与此类似的帖子。