好的,只是为了描绘我正在努力实现的目标。
我有一个 XML 文件:
<root>
<item id="test1" level="1" />
<item id="test2" level="1">
<item id="test3" level="2" />
<item id="test4" level="2" >
<item id="test5" level="3">
<item id="test6" level="4" />
</item>
</item>
<item id="test7" level=2" />
</item>
</root>
我很好地阅读了 XML,并将数据存储到 SQL 表中,如下所示:
让我们称之为 tableA
ID | ParentID | level
---------------------------
test1 NULL 1
test2 NULL 1
test3 test2 2
test4 test2 2
test5 test4 3
test6 test5 4
test7 test2 2
现在表 B 看起来像这样:
GUID | ID
-----------------------------------------------
c567207d-5317-4d0e-b24d-5ae3f7fa5691 test1
4567207d-4317-4d6e-b25d-7ae3f7fa5691 test3
a7b94a42-fb00-4011-bd5a-4b48e6e578c5 test1
fa7989d7-1708-4a90-9bf6-c91f6cef6952 test2
8a7989d7-5608-5690-9bf6-591f6ce56852 test7
gta7b94a42-fb00-4011-bd5a-4b48e6e578 test6
我想编写一个 select 语句,它会使用上面的 tableA 和 TableB 给我这样的结果:
编辑:基本上认为它是一个文件路径,我想找到ID的路径,
所以基本上对于ID:test6
路径是 test2 -> test4 -> test5 -> test6
GUID | ID | ID_Level_1 | ID_Level_2 | ID_Level_3 | ID_Level_4
---------------------------------------------------------------------------------------------------------
c567207d-5317-4d0e-b24d-5ae3f7fa5691 test1 test1
4567207d-4317-4d6e-b25d-7ae3f7fa5691 test3 test2 test3
a7b94a42-fb00-4011-bd5a-4b48e6e578c5 test1 test1
fa7989d7-1708-4a90-9bf6-c91f6cef6952 test2 test2
8a7989d7-5608-5690-9bf6-591f6ce56852 test7 test2 test7
gta7b94a42-fb00-4011-bd5a-4b48e6e578 test6 test2 test4 test5 test6
我如何实现这个结果,使用表 A 和表 B 获得上述结果所需的 SQL CALL 是什么?