ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

SQL:递归选择所有子记录的SUM

2019-11-06 21:14:11  阅读:317  来源: 互联网

标签:oracle hierarchy sql mysql tsql


我有一张桌子,桌子之间有一对多的关系.每个记录可以有来自同一张表的n个孩子.例如

create table folder
ID: Number 20 PK
PARENT_ID: Number 20 FK references folder.ID
SIZE: NUMBER 20
...

给定一个ID,我想选择所有文件夹记录的SUM(SIZE)
递归地目标数据库是MySql 5,但是会很好
如果通用性足以在Oracle和MS-SQL中运行.

我不知道树有多深,可能是1级,可能是50级(或更多)

解决方法:

这可能会有些帮助:http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/

在Oracle(http://download-east.oracle.com/docs/cd/B12037_01/server.101/b10759/queries003.htm)中,这将是一个简单的查询,因为它支持使用“ CONNECT BY”的分层查询,但是我认为没有类似的MySQL解决方案.看来您要做的事情确实效率低下,或者您将不得不修改表结构以支持此特定功能.

标签:oracle,hierarchy,sql,mysql,tsql
来源: https://codeday.me/bug/20191106/2001127.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有