求一条SQL语句

zhcosin 2014-09-21 08:13:36
有一张表,其中的记录是有父子关系的(有唯一的根记录),现在想要进行一个查询,查询出某个节点的全部子节点,并且在查询结果中每条子记录中要有一个字段显示该子记录又有多少个再下一级子记录。求SQL语句,万分感谢。
表结构如下:
ID(主键), CODE(编码), PARENT_ID(父记录的ID,外键,引用本表ID字段)
查询结果中应有如下字段:
ID(主键), CODE(编码),PARENT_ID(父记录),SUBNUM(子记录条数).
...全文
179 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
分类统计就行了
zhcosin 2014-09-22
  • 打赏
  • 举报
回复
已经解决啦,谢谢楼上的各位,下面是两种解决方案 一、关联查询 SELECT a.CODE AS PARENT_CODE, b.CODE AS CHILD_CODE, COUNT(c.CODE) AS SUBNUM FROM the_table a, the_table b, the_table c where a.ID = b.PARENT_ID and b.ID = c.PARENT_ID(+) and a.CODE='100' GROUP BY a.CODE b.CODE (where条件中的加号是外连接,在有的数据库产品中是用星号*表示外连接的) 二、嵌套查询 SELECT a.CODE AS PARENT_CODE, b.CODE AS CHILD_CODE, (SELECT COUNT(b.CODE) FROM the_table b WHERE b.PARENT_ID = a.ID) as SUBNUM FROM the_table a
  • 打赏
  • 举报
回复
select count(ID) from table group by PARENT_ID
没达到要求吗?
zhcosin 2014-09-21
  • 打赏
  • 举报
回复
引用 1 楼 truelance 的回复:
这个要用到存储过程,得看你用的是什么数据库。
标准SQL语句办不到吗?数据库是oracle的
熊熊大叔 2014-09-21
  • 打赏
  • 举报
回复
这个要用到存储过程,得看你用的是什么数据库。

65,189

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧