在MySQL中选择元组链,邻接列表?
我有一个表在MySQL中选择元组链,邻接列表?,mysql,sql,database,hierarchy,adjacency-list,Mysql,Sql,Database,Hierarchy,Adjacency List,我有一个表事务: ID AMOUNT PARENT_ID 8135124 1,56 NULL | ON CHAIN 1 8135125 0,02 8135124 | ON CHAIN 1 8135126 1,09 8135124 | ON CHAIN 1 8135127 0,03 8135126 | ON CHA
事务:
ID AMOUNT PARENT_ID
8135124 1,56 NULL | ON CHAIN 1
8135125 0,02 8135124 | ON CHAIN 1
8135126 1,09 8135124 | ON CHAIN 1
8135127 0,03 8135126 | ON CHAIN 1
8135128 0,47 8135124 | ON CHAIN 1
8135129 1,00 NULL | OTHER CHAIN
8135130 0,01 8135129 | OTHER CHAIN
我试图获得给定交易的完整链,但没有成功。例如,当给出8135126时,查询的返回必须是8135124、8135125、8135126、8135127和8135128事务的事务的所有列。当给出8135125或链的任何其他链接时,结果相同
请注意,8135125、8135126和8135128是8135124的子女,但8135127是8135126的子女
如何在MySQL中实现它?对于3-4个级别,您可以使用自连接。不幸的是,MySQL不支持递归函数。无法用SQL解决问题,必须求助于应用程序的语言。是唯一一个在SQL上遇到几个循环的解决方案。请看这里的答案:在我看来,这是一个邻接列表。但是我没有找到用MySQL实现它的方法。不一定只有3个级别,分支的深度可以扩展到3-4个级别。BTW.如果我的答案是有用的,请考虑接受它。我的第一次尝试是用Access和Union解决,但是它不起作用。谢谢但是,+1=)