[英]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.