我有一个父/子/孙子类型表关系定义如下:
tableA:parentID描述
tableB:childID parentId描述
tableC:grandchildID childId description itemComplete
我需要编写一个查询,列出任何给定parentID的tableB中的所有记录,以及孙子记录的总数和已完成的孙子记录的总数(其中itemComplete = true).
parentID将是where子句的一部分(select*from tableB,其中parentId = x).我无法弄清楚的问题是如何从tableC获取计数,因为计数取决于childId的当前行值.
换句话说,我需要某种类似于以下内容的查询:
select description,
(select count (*) from tableC where childId = X) as Items,
(select count (*) from tableC where childId = X And itemComplete = true) as CompleteItems
from tableB where parentId=Y
Run Code Online (Sandbox Code Playgroud)
其中X是tableB中当前行的childId.如何从子查询中的每一行引用childId以获取项目数和项目数?