close
這是我昨天開發時所遇到的問題,因為需求關係,所以將參數(id)儲存像table2
Table1
id | name |
---|---|
1 | 數學 |
2 | 國文 |
3 | 自然 |
Table2
id | course_id |
---|---|
1 | 1,2 |
2 | 1,3 |
3 | 3 |
將上面合併結果
course_id | name |
---|---|
1,2 | 數學,國文 |
1,3 | 數學,自然 |
3 | 自然 |
因為要顯示成結果
那樣,所以就找到相關文章,原來MySql有相關方法可以解
SELECT b.course_id, GROUP_CONCAT(a.name) name
FROM Table2 b
INNER JOIN Table1 a
ON FIND_IN_SET(a.id, b.course_id) > 0
GROUP BY b.course_id
上面的範例可以看到先使用FIND_IN_SET(a.id,b.course_id) > 0
方法
將資料比對出來後,在用GROUP_CONCAT(a.name)
將名稱重新用逗號隔開並顯示
後記
原本以為還要自己寫迴圈並拆解逗號的ID....
還好找到MySql有相關方法可解決!!
補充
MySql網址
文章標籤
全站熱搜