在某個TABLE中,我有一個VARTEXT字段,其中包含國家代碼的逗號分隔值。該字段名爲cc_list。典型的條目如下所示:在目標是列的情況下使用MySQL的「IN」函數?
'DE,US,IE,GB'
'IT,CA,US,FR,BE'
現在給出國家代碼,我希望能夠有效地找到哪些記錄包含該國家/地區。顯然,索引這個領域沒有意義。 我可以做以下
SELECT * from TABLE where cc_list LIKE '%US%';
但這是低效的。
由於「IN」的功能應該是有效的(其斌排序值),我正沿
SELECT * from TABLE where 'US' IN cc_list
行思但是,這並不工作 - 我覺得第二個操作數的IN需要是一個值列表,而不是一個字符串。有沒有辦法將CSV字符串轉換爲值列表? 還有其他建議嗎?謝謝!
似乎最好創建一個有2個字段的表格,每個記錄將TABLE記錄與一個國家/地區代碼相關聯。 – 2009-11-13 15:50:50
請問爲什麼你以前從未接受過某個問題的答案? – Peter 2009-11-13 15:51:39
你是怎麼做到的?謝謝。 – Sleepster 2009-11-13 16:01:23