2012-11-13 222 views
0

我有一个表:MySQL查询帮助

id type_name    type_reportToId 
1 Administrator    0 
2 Guest GUEST    1 
3 Landlord     1 
4 Property Manager   3 
13 Manager Manager    3 
14 Asst. Property Manager  13 

我需要的“等级制度报告”结果的ID号14例如:ID 14报告13,13必须报告3,3要报告1 ...就像明智一样。我需要在MySQL中的查询。有谁能够帮助我 ?

+0

的可能重复的[递归类别与单个查询?](http://stackoverflow.com/questions/3116330/recursive-categories-with-a-单一查询) – DCoder

+0

没有任何PHP操作,没有其他方法可以做到这一点? –

+0

如果人们只能举一个他们想要的东西的例子,我们实际上可以帮助他们。现在他们抨击了一些单词,而不是根据数据样本做出预期结果的例子。为什么如果你不能正确解释正确又浪费时间呢? –

回答

0

您最好在您的应用程序逻辑而不是您的查询中执行此操作。

伪代码

query=SELECT id, type_name, type_reportToId FROM table ORDER BY id ASC, report_toId ASC 

// loop through rows 
currentParent = 0 
processed = 0 
hierarachyLevel = 0 
while (processed < foundrows) 
{ 
    while (row = fetchrow(dbResult)) 
    { 
     if (row[type_reportToId] == currentParent) 
     { 
      resultHierarchy[hierarchyLevel] = row 
      currentParent = row[id] 
      processed++ 
      hierarchyLevel++ 
      dataseek(dbResult, 0) 
      break 
     } 
    } 

}