[MySQL] 用一整列與一個Field做比對的方法
之前要將兩個table做多對多關聯,都會再開一個table來放關聯的資料
有時想偷懶一點,將其中一個表的主鍵都放在另一個表的其中一個欄位
像是group_concat的反向操作那樣
像是
Product Icon
id,name,icons id,file
'#1','#2'
把icon的id集合放在product的icons欄位裡
用SELECT * FROM icon where id in (select icons from product where..)
這樣的話MySQL似乎會把子查詢回傳的當字串而不是集合..結果是空的
後來找到一個偷雞的方法..
SELECT * FROM icon
LEFT JOIN Product
ON INSTR(icons,concat("#'",icon.id,"'"))>0 AND .....
不過這樣資料一多時loading好像會很大 = ="
而且還要將要比對的資料格式化..免得出現 #1,#11 都算在#1內的情形
不知道有沒有更方便的方法?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.218.220.74
→
09/16 18:07, , 1F
09/16 18:07, 1F
→
09/16 18:13, , 2F
09/16 18:13, 2F
Database 近期熱門文章
PTT數位生活區 即時熱門文章