Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL查询的情况_Sql - Fatal编程技术网

SQL查询的情况

SQL查询的情况,sql,Sql,我有下表格式的数据 id brand_ids -------------- 2 77,2 3 77 6 3,77,5 8 2,45,77 -------------- (请注意,品牌标识将以逗号分隔的值存储,这对于此字段中的值是常见的) 现在我正在尝试获取一个查询,该查询只能查询出具有“77”的行 在里面 我知道我可以使用三种格式的LIKE命令如'77,%'或''%77,%'或''%77',通过或条件来实现它。但我希望这会增加sql的加载时间 有没有直接的方法来实

我有下表格式的数据


id   brand_ids
--------------
2    77,2
3    77
6    3,77,5
8    2,45,77
--------------
(请注意,品牌标识将以逗号分隔的值存储,这对于此字段中的值是常见的)

现在我正在尝试获取一个查询,该查询只能查询出具有“77”的行 在里面

我知道我可以使用三种格式的LIKE命令
如'77,%'或''%77,%'或''%77'
,通过或条件来实现它。但我希望这会增加sql的加载时间

有没有直接的方法来实现这一点?如果是,请建议

谢谢,
Balan

对于您的问题,严格的回答是:不。您建议使用LIKE是使用此数据模型的最佳选择。但是,如前所述,强烈建议您使用更规范化的模型。

我不知道您所在的字段中,以逗号分隔的非规范化列很常见,但这里的解决方案是将它们存储在适当的规范化表中。这只会让人头疼。你对“brand_id”栏有什么索引吗?看,昆汀的答案。@Michael:我在Magento数据库工作,在那里发生这种情况。谢谢你的链接,我对你的链接有了想法。