加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在PostgreSQL中组合两个SELECT查询

发布时间:2020-12-13 16:30:12 所属栏目:百科 来源:网络整理
导读:我想将两个选择查询与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中重
我想将两个选择查询与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.不排除重复,并且这种方式更快.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读