在PostgreSQL中组合两个SELECT查询

前端之家收集整理的这篇文章主要介绍了在PostgreSQL中组合两个SELECT查询前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想将两个选择查询与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> )
使用 CTE在多个SELECT中重用子查询的结果.
你需要Postgresql 8.4:
WITH x AS (SELECT carto_id_key FROM table1 WHERE tag_id = 16)

SELECT carto_id_key
FROM   x

UNION ALL
SELECT t2.some_other_id_key
FROM   x
JOIN   table2 t2 ON t2.carto_id_key = x.carto_id_key

你很可能想要UNION ALL而不是UNION.不排除重复,并且这种方式更快.

猜你在找的Postgre SQL相关文章