sql - 如何获得一个类别的子集数量?
问题描述
我的产品有一个类别表,名为:TBL_Category
表结构如下:
nid是身份密钥
尼德 | PID | 姓名 |
---|---|---|
1 | 1 | 移动的 |
2 | 2 | 药片 |
3 | 1 | 苹果 |
4 | 1 | 三星 |
5 | 3 | 苹果手机 11 |
6 | 3 | 苹果手机 12 |
7 | 4 | 银河小号 |
8 | 4 | Galaxy Note |
9 | 5 | 11专业 |
10 | 5 | 11个 |
11 | 6 | 12 专业 |
12 | 6 | 12个 |
13 | 7 | 银河 S10 |
14 | 7 | 银河 S10 精简版 |
15 | 8 | 银河注 10 |
16 | 8 | 银河注 10 专业版 |
现在我如何获得第一类?
例如:
当用户选择要显示的 Apple 子集数量时:6
或者如果它选择显示移动子集:14 条记录
或者如果它选择 Galaxy Note,它应该显示:2
我的意思是,我想要所有子集的数量
谢谢
解决方案
感谢您的指导,我是通过以下方式获得的:
with cte as (
select nid
from TB_Category
where nid = 429
union all
select ca.nid
from cte ct
inner join TB_Category ca on ca.parentid = ct.nid
)
select p.nid
from TB_Category p
inner join cte ct on ct.nid = p.nid
推荐阅读
- python - 获取具有最大数字元素的元组,如果出现平局,则随机选择一个平局元组
- ios - Swift - 日期更改时区
- webpack - Webpack 4 ignores UglifyJsPlugin
- excel - Excel VBA Single VS Double Data Type
- javascript - firebase 事务和 if-then-else 行为
- java - 如何改进我对 Android SharedPreference 的使用?
- android - 无法加载类'kotlin.reflect.KDeclarationContainer'.android studio 3.1.4
- c# - 为局部变量或方法参数添加代码样式命名 - C# Visual Studio
- spring - 运行 Spring Boot 2 休息服务的最佳方式
- sql - 分层查询以返回具有根父级的所有子级