2
搜索多个列和多值选择行我有这个表通过在MySQL
file_id cat_1 cat_2 cat_3
cat1
,cat2
,cat3
所有包含类别ID。
我要选择存在于cat1
或cat2
或cat3
简单查询文件是:
SELECT file_id FROM files WHERE
cat_1 IN (1,2,3,4,5)
OR cat_2 IN (1,2,3,4,5)
OR cat_3 IN (1,2,3,4,5)
是没有什么更好的办法来做到这一点?例如把所有列放入另一个列表中?
WHERE (cat_1,cat_2,cat_3) IN (1,2,3,4,5) ?
有一种更好的方式来做到这一点。它被称为标准化数据,所以你有一个联结表,每个类别和文件有一行。 –