2017-08-25 195 views
-5
SELECT *, (SELECT fsi.active 
      FROM filters_sorts AS fsi 
      WHERE fs.`active`= '1' AND fs.`parent` !='0') 
FROM filters_sorts AS fs 
WHERE fs.`active`= '1' AND fs.`parent` ='0'; 

table imageSQL查詢返回 「子查詢返回多個1行」

+1

[如何提問?](https://stackoverflow.com/help/how-to-ask) – Spectarion

+1

參加[tour](https://stackoverflow.com/tour)並通讀[help center] (https://stackoverflow.com/help),以改善您的問題 –

+0

實際上我需要從同一個表的內部查詢更多的行。 –

回答

0

使用下面的查詢,而不是:如果你想有一個單一的

SELECT fs1.name menuName, fs1.id menuId, fs2.id subMenuId, fs2.name subMenuName 
FROM filters_sorts fs1 
LEFT JOIN filters_sorts fs2 ON fs1.id = fs2.parent 
WHERE fs1.parent=0 

您可以添加所需的字段中SELECT

排一個主要類別,你可以這樣做:

SELECT fs1.name menuName, fs1.id menuId, GROUP_CONCAT(fs2.name) subMenuName 
FROM filters_sorts fs1 
LEFT JOIN filters_sorts fs2 ON fs1.id = fs2.parent 
WHERE fs1.parent=0 
GROUP BY fs1.id 
+0

menuName menuId subMenuId subMenuName ---------------- - ------ --------- -------------------- 價格8 9小於500 價格8 10₹500到$ 1000 受歡迎程度1(NULL)(NULL)如果可能,我需要這樣的「價格8小於500,$ 500到$ 1000」爲每個價格和基於父母身份證逗號分隔的subMenuName!謝謝@Anshuman Jaiswal –

+0

是的,你將不得不在你要使用這個結果的客戶端做一些操作。從SQL你將無法找到'樹結構 –

+0

更新的答案可能是你需要這個,這裏所有的子菜單將逗號分隔 –