【发布时间】:2013-03-28 18:47:45
【问题描述】:
我想将两个选择查询与UNION 结合起来。
如何在第二个 SELECT 中使用第一个 SELECT 的结果?
(SELECT carto_id_key FROM table1
WHERE tag_id = 16)
UNION
(SELECT * FROM table2
WHERE carto_id_key = <the carto_id result from above> )
【问题讨论】:
-
您真正想要实现什么,可以使用简单的 JOIN 或子查询(如果您只想获取所需的详细信息),而且您的两个查询的列也不匹配!!
-
我要获取table2中所有满足第一个SELECT条件的记录
-
如果这是唯一的要求,请阅读postgresql.org/docs/8.3/static/tutorial-join.html
-
查看该文档后,我发现最好的解决方案是:SELECT * FROM tabl1 INNER JOIN table2 ON (table1.carto_id_key = table2.carto_id_key) WHERE table2.tag_id = 16 感谢您的帮助跨度>
标签: sql postgresql union common-table-expression