我有一個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
你能發佈完整的查詢嗎?問題可能在其他地方。 –