我做過類似的查詢,就是用字典項表的數據id列,與數據表的字符串列做instr比較,比較時,兩個數據分別在前後加',',防止第壹個和最後壹個字典項無法查找出來。
舉個例子,數據表
字典表 dict
id name
12 wifi
13 冰箱
14 洗衣機
15 電視
業務表 query_table
id query_str
1 12,13,14,15
2 12,14
3 14,15
SELECT *
FROM dict a,query_table b
WHERE INSTR(CONCAT(CONCAT(',',b.query_str),','), CONCAT(',', CONCAT(a.id,',')))>-0 AND b.id=1
看實際效果