簡體   English   中英

MySQL查詢從同一表中檢索子數據和父數據

[英]Mysql query to retrieve child and parent data from the same table

我有一個mysql表,如下圖所示。

在此處輸入圖片說明

現在我想查詢該表,以便我按如下方式獲取數據

在此處輸入圖片說明

如果沒有父母,則父母必須填充為“ NONE”或“空”。 如何實現此查詢? 這有可能嗎? 我和我的朋友討論了這個問題,但仍然沒有答案。 任何幫助,將不勝感激。 謝謝

您必須使用LEFT JOIN將表與其自身連接,該連接將返回左表中的所有行以及第二個表中與連接條件匹配的行:

Select
  t1.ID,
  t1.Name,
  t2.Name AS Parent,
  t1.Remarks
From
  yourtable t1 LEFT JOIN yourtable t2
  ON t1.parent_id = t2.id

您也可以使用COALESCE(t2.name, 'NONE') AS Parent在沒有匹配項時返回字符串NONE。

在MS SQL Server中,可以使用CTE (Common Table Expression) -層次結構查詢來檢索子級和葉級子級。 但是我的SQL不支持CTE。

請參考問題, 問題代表MySQL不支持CTE。
該答案將幫助您獲得所有孩子和該孩子的所有孩子。 您需要創建分層查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM