साथ group_concat मैं तीन टेबल है:शामिल हों और तीन टेबल
users: sports: user_sports:
id | name id | name id_user | id_sport | pref
---+-------- ---+------------ --------+----------+------
1 | Peter 1 | Tennis 1 | 1 | 0
2 | Alice 2 | Football 1 | 2 | 1
3 | Bob 3 | Basketball 2 | 3 | 0
3 | 1 | 2
3 | 3 | 1
3 | 2 | 0
तालिका user_sports
लिंक users
और sports
एक (pref
) वरीयता के क्रम के साथ।
मैं एक प्रश्न है कि इस रिटर्न बनाने की जरूरत है:
id | name | sport_ids | sport_names
---+-------+-----------+----------------------------
1 | Peter | 1,2 | Tennis,Football
2 | Alice | 3 | Basketball
3 | Bob | 2,3,1 | Football,Basketball,Tennis
मैं JOIN
और GROUP_CONCAT
साथ की कोशिश की है, लेकिन मैं अजीब परिणाम प्राप्त।
क्या मुझे नेस्टेड क्वेरी करने की ज़रूरत है?
कोई विचार?
क्या आप अपना group_concat दिनचर्या पोस्ट कर सकते हैं जो काम नहीं करता है? ऐसा लगता है कि आपको वही चाहिए (इस पृष्ठ को देखें: http://stackoverflow.com/questions/276927/can-i-concatenate-multiple-mysql-rows-into-one-field), तो यह सहायक हो सकता है पूछताछ देखें o यह निर्धारित करता है कि यह गलत कैसे हुआ। – user158017