小编Chr*_*ows的帖子

在子查询中使用查询值来从另一个表中获取计数数据

我有一个父/子/孙子类型表关系定义如下:

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以获取项目数和项目数?

sql t-sql sql-server

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

sql ×1

sql-server ×1

t-sql ×1