2012-02-16 40 views
3

如何查找所有項目(mySQL)的parentId? (有可能的層級的......不是最好的設計,無限量,但它是什麼我的工作)在同一表中查找父項的SQL遞歸

ID  PARENTID NAME 
9146 NULL  thing1 
9147 NULL  thing2 
9148 9146  thing3 
9149 9148  thing4 
9150 NULL  thing5 
9151 9149  thing6 
9152 9147  thing7 

然後輸出應該是:

ID  REAL_PARENTID 
9146 NULL (or self 9146) 
9147 NULL (or self 9147) 
9148 9146 
9149 9146 
9150 NULL (or self 9150) 
9151 9146 
9152 9147 
+0

您是否需要在層次結構中接觸頂級父母或父母一方?沒關係,我知道你需要走到最前面。 – 2012-02-16 17:17:47

+1

這個問題的答案:http://stackoverflow.com/questions/3704130/recursive-mysql-query應該對你有用。 – 2012-02-16 17:20:51

+0

你的例子不清楚。從發佈的數據看,你所尋找的東西似乎只是* SELECT ID,表格中的PARENTID,就是這樣。問題是什麼 ? – 2012-02-16 17:28:34

回答

0

你可以做到這一點很容易地使用SQL CTE表(遞歸查詢)

選中此學習如何做到這一點:

http://msdn.microsoft.com/en-us/library/ms186243.aspx

+2

它是mysql ... :) http://stackoverflow.com/questions/1382573/how-do-you-use-the-with-clause-in-mysql – Asken 2012-02-16 17:24:40