在某个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