首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgresql如何组合这两个查询?

Postgresql如何组合这两个查询?
EN

Stack Overflow用户
提问于 2019-05-31 15:17:28
回答 1查看 53关注 0票数 1

我试着把这两个查询结合起来,但我不知道

代码语言:javascript
复制
SELECT id FROM comments WHERE thread_id = $1 AND parent_id is NULL

这将返回一个整数。一.e-5

,然后将id结果(5)用于此递归查询。

代码语言:javascript
复制
With RECURSIVE recursetree AS
(
 SELECT * FROM comments WHERE comment_id = (use the id 5 here)
 UNION
 SELECT t.*
 From comments t
 JOIN recursetree rt ON rt.comment_id = t.parent_id                         
 )
 SELECT * from recursetree
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-31 15:49:13

您应该能够将第一个查询放入递归子查询的锚点:

代码语言:javascript
复制
With RECURSIVE recursetree AS (
      SELECT c.
      FROM comments c
      WHERE thread_id = $1 
      UNION ALL
      SELECT c.*
      FROM comments c JOIN
           recursetree
           rt ON rt.comment_id = c.parent_id                         
     )
SELECT * 
FROM recursetree;

还请注意:

  • UNION ALLUNION更有意义,除非您希望承担删除重复项的开销。
  • 对于comments来说,表别名comments比任意字母t更有意义。
  • $1建议您使用一个参数来处理查询字符串。您应该在查询中使用参数。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56397725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档