【发布时间】:2016-04-07 19:21:44
【问题描述】:
我是 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
如何将前两个值存储在变量中并在第三个查询中使用?
【问题讨论】:
-
您可以在
join的查询中使用来自其他表的信息。但是,您需要更详细地了解您实际需要完成的工作才能给出答案。 -
如果你能给出答案,我将不胜感激:)
-
@Devil's Dream 问这样的一般性问题毫无意义。有很多方法可以“组合”来自不同表的信息。说 value_1,value_2 ... 是没用的,因为我们不知道表是否与外键链接。您需要提供一个实际的 3 表模式。我投票关闭它,因为这太一般了。
-
@Devil's Dream 您可以这样做:
Select * from table_3 where column_1 = (Select value_1 From table_1) and column_2 = (Select value_2 From table_2)请注意,此查询假定每个子查询仅返回 1 行。我不会将其发布为答案,因为它非常不合逻辑。您应该至少有一个WHERE来过滤子查询中的表。如果您发布更多关于您的真实桌子的信息,我们将能够提供更好的答案。
标签: postgresql