簡體   English   中英

GROUP_CONCAT &&左外連接1台?

[英]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.

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