Re: [請益] SELECT IN的問題

看板PHP作者 (3WA問題解決專家)時間15年前 (2010/04/09 18:06), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《chan15 (ChaN)》之銘言: : 大家好,我今天table有一個欄位是存放用,組成的字串 例:1,2,3 : 目的是想要用IN來篩選內容,假設欄位名稱叫做xyz好了 : $val = 1; : $query = sprintf("SELECT * FROM table WHERE %s IN (xyz)", $val); : 可是我printf $query的結果會變成 : "SELECT * FROM table WHERE 1 IN (xyz)" : xyz在IN()裡面變成一個字串而非我設定的欄位 : 請問該怎樣才能達到我的目的呢? 參考看看,雖然很笨的方法,但可以動~ mysql> select * from b; +-------+ | name | +-------+ | 1,2,3 | +-------+ 1 row in set (0.00 sec) mysql> select * from c; +------+-------+ | id | title | +------+-------+ | 1 | a | | 1 | b | | 1 | c | | 1 | d | | 2 | d | | 3 | d | +------+-------+ 6 rows in set (0.00 sec) mysql> select c.id,c.title from b,c where concat(',',b.name,',') like concat('%,',c.id,',%'); +------+-------+ | id | title | +------+-------+ | 1 | a | | 1 | b | | 1 | c | | 1 | d | | 2 | d | | 3 | d | +------+-------+ 6 rows in set (0.00 sec) mysql> -- 3WA訓練家的工作室 宗旨:諸葛單中,謝謝 個人佈弱格 網址:http://3wa.tw -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.9.79 ※ 編輯: shadowjohn 來自: 114.32.9.79 (04/09 18:13)

04/10 03:04, , 1F
我後來也是用LIKE解決的,thanks。
04/10 03:04, 1F

04/10 16:01, , 2F
SELECT id,title FROM c WHERE FIND_IN_SET(id,(SELECT name
04/10 16:01, 2F

04/10 16:02, , 3F
FROM b))     沒什麼差別..
04/10 16:02, 3F
文章代碼(AID): #1BllmALO (PHP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1BllmALO (PHP)