链接行,单表 SQL



我有一个包含零件和不同阶段的表格。 FromID=0是输入零件材料的位置。 part1part2经过加工,然后组装成part3

ID    Partname   FromID     Parts     Process
----------------------------------------------------
1     part1           0        10     process1 part1       
2     part1           1         0     process2 part1
3     part2           0        10     process1 part2
4     part2           1         0     process2 part2
5     part3           2         0     Assembly part1
6     part3           4         0     Assembly part2

有没有办法编写查询来获取也可以处理嵌套子部件的部件及其所有子部件?我使用的是 MS Access 2010 和 C#。

结果应如下所示

部件名称 = 部件 1

ID    Partname   FromID     Parts     Work
-------------------------------------------
1     part1           0        10     work1 part1       
2     part1           1         0     work2 part1

部件名称 = 部件 2

ID    Partname   FromID     Parts     Work
-------------------------------------------
3     part2           0        10     work1 part2
4     part2           1         0     work2 part2

部件名称 = 部件 3

ID    Partname   FromID     Parts     Work
-------------------------------------------
1     part1           0        10     work1 part1       
2     part1           1         0     work2 part1
5     part3           2         0     Assembly part1
3     part2           0        10     work1 part2
4     part2           1         0     work2 part2
6     part3           4         0     Assembly part2

使用修改后的预购树遍历来标记行以便快速查询。 看看这篇文章:

http://iamcam.wordpress.com/2006/03/24/storing-hierarchical-data-in-a-database-part-2a-modified-preorder-tree-traversal/

如果计划在 SQL 服务器上部署,则可以考虑使用公用表表达式:

http://msdn.microsoft.com/en-us/library/ms190766(v=sql.105).aspx

最新更新