[英]how to fix sql query?
在這個 noti_card_data 我的數據庫模式中
id | date | cmd | mbrNo
--------------------------------------------
1 2020-04-01 success 1
2 2020-04-29 fail -
我要結果
id | date | cmd | mbrNo
--------------------------------------------
1 2020-04-01 success 1
但是,發送這樣的查詢結果。
SELECT * FROM noti_card_data WHERE mbrNo = '1' OR mbrNo = '-' AND cmd ='success'
id | date | cmd | mbrNo
--------------------------------------------
1 2020-04-01 success 1
2 2020-04-29 fail -
如何修復我的查詢?
嘗試以下操作,這是演示。
SELECT *
FROM noti_card_data
WHERE (mbrNo = '1'
OR mbrNo = '-')
AND cmd ='success'
Output:
| id | date | cmd | mbrNo |
| --- | ---------- | ------- | ----- |
| 1 | 2020-04-01 | success | 1 |
代替
mbrNo = '1' OR mbrNo = '-'
你可以說
mbrNo IN ('1', '-')
盡管這兩個表達式是相同的,但更改會巧合地解決您的問題。
真正的“問題”是
a OR b AND c means a OR (b AND c)
但你想要
(a OR b) AND c
請參閱“運算符的優先級”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.