MySQL從子類id查詢所有父類

來源:互聯網
上載者:User

MySQL表結構

  1. id  name    parent_id   
  2. ---------------------------   
  3. 1   Home        0   
  4. 2   About       1   
  5. 3   Contact     1   
  6. 4   Legal       2   
  7. 5   Privacy     4   
  8. 6   Products    1   
  9. 7   Support     1  

MySQL代碼如下:

  1. SELECT T2.id, T2.name   
  2. FROM (   
  3.     SELECT   
  4.         @r AS _id,   
  5.         (SELECT @r := parent_id FROM table1 WHERE id = _id) AS parent_id,   
  6.         @l := @l + 1 AS lvl   
  7.     FROM   
  8.         (SELECT @r := 5, @l := 0) vars,   
  9.         table1 h   
  10.     WHERE @r <> 0) T1   
  11. JOIN table1 T2   
  12. ON T1._id = T2.id   
  13. ORDER BY T1.lvl DESC  

代碼@r := 5標示查詢id為5的所有父類。結果如下

  1. 1, 'Home'   
  2. 2, 'About'   
  3. 4, 'Legal'   
  4. 5, 'Privacy' 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.