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