我有一个MySQL表称为订单:MySQL的,不正确的WHERE逻辑
[database.orders]
uuid | status | data | date
我一直依赖于SQL查询返回的记录但事实证明WHERE子句是错误的。
我想要的是uuid等于'xxx'且状态等于'PROCESSED'或'PAUSED'的记录。
以前我用:WHERE status='PROCESSED' OR status='PAUSED' AND uuid = 'xxx'
我现在看到这个返回在其中的地位进行处理,或状态暂停& UUID记录=“XXX”
我试过以下,但没有成功:
WHERE (uuid = 'xxx' AND status = 'PROCESSED') OR (uuid = 'xxx' AND status = 'PAUSED')
WHERE uuid = 'xxx' AND (status = 'PROCESSED' OR status = 'PAUSED')
作为完整查询,该陈述将显示为SELECT * FROM orders WHERE uuid = 'xxx' AND (status = 'PROCESSED' OR status = 'PAUSED')
。
如何返回所述的预期结果?
AND WHERE uuid ='xxx'AND(status ='PROCESSED'或status ='PAUSED')'条件按照要求是正确的,但是没有给出预期的结果需要检查一些测试数据,如果可能的话在http ://www.sqlfiddle.com –
最后,我认为,必须奏效。你可以写成WHERE uuid ='xxx'AND状态('PROCESSED','PAUSED')' – splash58
你能发布完整的查询吗?问题可能在其他地方。 –