【发布时间】:2018-04-01 17:44:41
【问题描述】:
我有点疯狂地寻找这个问题的解决方案:
我得到了类似这张桌子的东西:
表格数据
我想要一个查询来获取所有通过条件的元素和所有的父母,我的意思是,这个结果:
查询结果
我一直在思考这个问题:
SELECT a.* FROM table a
JOIN table b ON b.id = a.id
WHERE a.id IN (SELECT DISTINCT c.parent_id FROM table c WHERE c.condition = TRUE)
OR b.id IN (SELECT DISTINCT c.id FROM table c WHERE c.condition = TRUE);
但是我只能用这种方法得到一个级别的差异,我的意思是,没有条件我不能得到超过 1 个父级。 非常感谢。
【问题讨论】:
标签: sql postgresql recursion