![]() |
1
1
只能对根行执行条件求和():
我更喜欢先做递归部分,然后将相关表连接到递归查询的结果,但也可以在CTE内连接到expense\u amount。 联机示例: http://rextester.com/TGQUX53703 然而,以上仅在顶级父级上聚合,而不用于任何中间非叶行。 如果您还想看到中间聚合,那么这会变得更复杂一些(对于大型结果来说可能不是很容易扩展,但您说过您的表没有那么大)
联机示例: http://rextester.com/MCE96740 查询建立属于(子)树的所有ID的路径,然后使用标量子选择来获取属于节点的所有子行。当递归查询的结果不能保存在内存中时,这个子选择将使其变得非常慢。
我用了
|
![]() |
2
0
由于某种原因,我无法使您的查询生效。下面是我的尝试,它适用于您提供的特定表(父子表,没有孙子表),无需递归。 SQL Fiddle
|
![]() |
roca · 试图让CTE在PostgreSQL中工作 2 年前 |
![]() |
Potato Science · 使用递归cte的级联和层次结构 7 年前 |
![]() |
user3052443 · 递归php数组失败 7 年前 |
![]() |
HARENDRA SINGH · 从循环返回,但循环的执行不起作用? 7 年前 |
![]() |
Paramus · SQL递归:获取父代和子代之间所有可能的关系 7 年前 |
![]() |
Dmitrii · 无法修改递归视图中的日期字段 10 年前 |
|
user2910467 · 递归sql查询返回特定的顶级boss 11 年前 |