[英]GROUP_CONCAT && left outer join on 1 table?
我有1個帶有Menu標簽的表。執行此操作時需要查詢以獲取Parent標簽和UnderMenu標簽:
SELECT es.Label MenuLabel, m.Label UnderLabel
FROM books_menu es
LEFT JOIN books_menu m ON es.ID = m.MenuParentID
WHERE es.ParentID =1
AND m.Type='under'
AND es.Type='main'
LIMIT 0 , 30
一切正常,但MenuLabel會在每條記錄上顯示。
MenuLabel UnderLabel
Home 1
Home 2
Home 3
Contacts 4
當我執行時:
SELECT es.Label MenuLabel, GROUP_CONCAT(m.Label) AS UnderLabel
FROM books_menu es
LEFT JOIN books_menu m ON es.ID = m.MenuParentID
WHERE es.ParentID =1
AND m.Type='under'
AND es.Type='main'
LIMIT 0 , 30
我得到:
MenuLabel UnderLabel
Home 1,2,3,4
我怎么能得到這個:
MenuLabel UnderLabel
Home 1,2,3
Contacts 4
謝謝:)
您需要具有GROUP BY
子句:
SELECT es.Label MenuLabel, GROUP_CONCAT(m.Label) AS UnderLabel
FROM books_menu es
LEFT JOIN books_menu m ON es.ID = m.MenuParentID
WHERE es.ParentID =1
AND m.Type='under'
AND es.Type='main'
GROUP BY MenuLabel
LIMIT 0 , 30;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.