我有一张桌子,桌子之间有一对多的关系.每个记录可以有来自同一张表的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解决方案.看来您要做的事情确实效率低下,或者您将不得不修改表结构以支持此特定功能.