2012-09-23 32 views
0

我有一個包含零件和不同階段的表。 FromID=0是輸入零件材料的地方。 part1part2被處理,然後組裝到part3鏈接的行,單表SQL

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#。

結果應該是這樣的

零件名稱= part1的

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 
+0

SELECT * FROM表1 LEFT JOIN表1 AS表2 ON Table2.FromID = Table1.ID WHERE(Table1.Part ='Part3'or Table2.Part ='Part3') – user1070134

回答