2

クエリ:

SELECT MemberId, a.MemberName, GROUP_CONCAT(FruitName) FROM a LEFT JOIN b ON 
a.MemberName = b.MemberName GROUP BY a.MemberName

表a

MemberID          MemberName              
--------------    ----------  
1                  Al                   
1                  Al       
3                  A2       

表b

MemberName             FruitName
---------------        --------------
Al                     Apple
Al                     Mango
A2                     Cherry

上記のクエリからの結果の出力:

MemberId    MemberName  GROUP_CONCAT(FruitName)
3           A2          Cherry
1           A1          Apple,Apple,Mango,Mango

私が使用している実際のテーブルには1つずつ10列があるため、すべてを1つのテーブルに格納するだけでは回避策にはなりません。そうは言っても、 e'Apple,Mango'に対してのみ返すようにクエリを変更するにはどうすればよいですか?MemberNam

4

3 に答える 3

8

グループ化された列にキーワードDISTINCTを追加します。

GROUP_CONCAT(DISTINCT FruitName)
于 2009-07-20T14:51:51.170 に答える
5

試す

GROUP_CONCAT(Distinct FruitName)
于 2009-07-20T14:52:03.603 に答える
3
SELECT  MemberId, a.MemberName, GROUP_CONCAT(DISTINCT FruitName)
FROM    a
LEFT JOIN
        b
ON      a.MemberName = b.MemberName
GROUP BY
        a.MemberName
于 2009-07-20T14:50:28.083 に答える