MySQL的缩短查询 - 选择具有复式或选择
问题描述:
下面是该查询我MySQL的缩短查询 - 选择具有复式或选择
SELECT FB_TEXT
FROM `FB_DATA`
WHERE `FB_MODELID` = "'.$sku_modelid.'" AND FB_TYPEID = 1
我想要做的就是让多个FB_TYPEID的这样的查询应该是这样的:
AND FB_TYPEID = 1,2,7
1, 2和7是我需要允许的数字。我怎么能写,没有做很长的查询说:
SELECT FB_TEXT
FROM `FB_DATA`
WHERE `FB_MODELID` = "'.$sku_modelid.'" AND FB_TYPEID = 1 OR `FB_MODELID` = "'.$sku_modelid.'" AND FB_TYPEID = 2 OR `FB_MODELID` = "'.$sku_modelid.'" AND FB_TYPEID = 7
答
使用IN
,而不是=
:
WHERE `FB_MODELID` = "'.$sku_modelid.'" AND FB_TYPEID IN (1,2,7)
+0
完美。谢谢!我知道必须有一种方式就是不确定它是什么。 – Drew
答
IN()运算符是正确的答案,但如果你不想(或不能)使用IN(),你不需要重复模型ID。该查询等同于IN()解决方案。
SELECT FB_TEXT FROM `FB_DATA` WHERE `FB_MODELID` = "'.$sku_modelid.'" AND (FB_TYPEID = 1 OR FB_TYPEID = 2 OR FB_TYPEID = 7)
'IN()'子句是你在这里需要的。 'WHERE FB_MODELID IN(1,2,7)' –