Mysql 返回不需要的行
我正在尝试根据类别和设计师id筛选我的产品,但是,我返回了一个错误的类别,该类别未连接到特定设计师,这是我尝试的:Mysql 返回不需要的行,mysql,Mysql,我正在尝试根据类别和设计师id筛选我的产品,但是,我返回了一个错误的类别,该类别未连接到特定设计师,这是我尝试的: SELECT * FROM `items` WHERE category = 'dress1' OR category = 'dress2' or category = 'skirt' OR designerID = '1' OR designerID = '2' 现在我得到了dress1、Dress2和裙子的输出,但是设计师id都没有连接到“裙子”类别,为什么它仍
SELECT *
FROM `items`
WHERE category = 'dress1'
OR category = 'dress2'
or category = 'skirt'
OR designerID = '1'
OR designerID = '2'
现在我得到了dress1、Dress2和裙子的输出,但是设计师id都没有连接到“裙子”类别,为什么它仍然返回
谢谢如果我了解您的要求,听起来您希望结果包含
类别dress1
,dress2
,或裙子
,但前提是他们有designerID
的1
或2
如果你需要一个和子句,我会让你的WHERE
子句如下:
WHERE (category = 'dress1'
OR category = 'dress2'
OR category = 'skirt')
AND (designerID = '1'
OR designerID = '2')
SELECT
*
FROM
items
WHERE
category in ('dress1','dress2','skirt')
and designerID in ('1','2')
我猜你想要这样的东西:
WHERE (category = 'dress1'
OR category = 'dress2'
OR category = 'skirt')
AND (designerID = '1'
OR designerID = '2')
SELECT
*
FROM
items
WHERE
category in ('dress1','dress2','skirt')
and designerID in ('1','2')
试试这个:如果你想要设计器1和2以及所有三个DRE类型
SELECT * FROM `items` WHERE category in('dress1','dress2','skirt') OR designerID in('1','2');
如果您想要设计师和dres put的组合,而不是OR是,要求是正确的,但是本条款仍然返回裙子,尽管它肯定不是id 1或2=(@user2209644抱歉,为了澄清,我的查询返回了一行skirt
,其中id不是1
或2
?你能告诉我skirt
的id是什么吗?是的,裙子的id是3,dress1和dress2分别是id 1和id 2,看起来我把括号搞乱了,一切都没用w、 谢谢you@user2209644哦,好的,太棒了!