在同一个表中查找嵌套的自引用记录

时间:2014-06-27 06:30:49

标签: java mysql

我有一个问题是从DB中找到嵌套的自引用记录。如何从mysql数据库中检索所有嵌套的自引用记录..

考虑以下示例

ID RefID Name Value
1   NA    A    10
2   NA    B    20
3   1     C    30 (it refering ID 1)
4   1     D    40 (it refering ID 1)
5   2     E    50 (it refering ID 2)
6   3     F    60 (it refering ID 3)
7   6     G    70 (it refering ID 6)

input --> ID=1

output ---> ID= 3,4,6,7


                ID -> 1
                      |-> ID 3, 4
                             |-> ID 6
                                     |-> ID 7

like that i want to find all sub levels....

现在我想从DB中找到自引用的嵌套子记录...

如果我想找到ID = 1意味着它应该显示它的所有子记录。即REID = 1且其引用的ID具有任何RefID意味着也可以显示

如何从数据库中检索数据..

是否任何SQL Query都能够从DB

中检索记录

1 个答案:

答案 0 :(得分:0)

MySQL不支持递归查询。

你可以创建一个在mysql中为你创建递归的函数,或者让你的客户端代码通过循环和重新查询数据库来处理这个问题。