如何使用mysql和recursive来创建一个层次结构的科目表?

btqmn9zl  于 2021-06-17  发布在  Mysql
关注(0)|答案(0)|浏览(290)

我很难理解如何使用with recursive来实现使用邻接模型的常见查询和报表,其中一条记录引用其“超级”记录。
我有许多innodb表,其中的字段是同一个表中的外键。
例如,我实现了一个复式记账系统,其中有一个“普通日记账”表 Amount , Source ,和 Destination 柱。后两列引用一个“accounts”表,该表使用按层次结构排列的标准七位数帐号。
因此,“accounts”表(例如)将有一行 ID 包含“1000000”, Super 包含null,并且 Name 包含“资产”
还有其他行像“1000010”( ID ), '1000000' ( Super ),'现金资产'( Name ),和“1000011”( ID ), '1000010' ( Super )“chequing”( Name ).
如何为一个标准的财务报表创建标准的“资产负债表”和“损益”报告,其中各个子账户将显示它们自己的总和(“普通日记账”的总和 Amount 具有相同 Source 帐户,减去那些相同的 Destination 每个超级帐户将显示它们包含的所有子帐户汇总的总和。
另一个我被难住的例子是…我们的非营利合作社饲养动物。每种动物的记录都有一个 ID 还有田野 Dam 以及 Sire 分别包含该动物的母亲和父亲的身份证。我搞不懂这些信息怎么能用“家谱”式的报告来表示。我发现的例子似乎不容易改变,以显示双重递归的情况。
我用的是mariadb 10.2.13。我到处找,用递归的例子搜索,但是有些东西没有穿过我的脑袋…
这会越来越长,但我很乐意添加模式和示例数据,如果这有帮助的话。
谢谢你的建议!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题