iT邦幫忙

2

MySql遇到逗號隔開的參數(id)如何關聯出(name)來?

這是我昨天開發時所遇到的問題,因為需求關係,所以將參數(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..../images/emoticon/emoticon16.gif

還好找到MySql有相關方法可解決!!/images/emoticon/emoticon12.gif

補充
MySql網址


尚未有邦友留言

立即登入留言