Mysql 如何修复sql查询?
在这个noti_card_数据中,我的数据库模式Mysql 如何修复sql查询?,mysql,sql,mariadb,Mysql,Sql,Mariadb,在这个noti_card_数据中,我的数据库模式 id | date | cmd | mbrNo -------------------------------------------- 1 2020-04-01 success 1 2 2020-04-29 fail - 我想要结果 id | date | cmd | mbrNo -----
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 -
如何修复我的查询?请尝试以下操作,以下是解决方法 输出:
| id | date | cmd | mbrNo |
| --- | ---------- | ------- | ----- |
| 1 | 2020-04-01 | success | 1 |
而不是
mbrNo = '1' OR mbrNo = '-'
你可以说
mbrNo IN ('1', '-')
虽然这两个表达式是相同的,但更改碰巧解决了您的问题
真正的“问题”是
但是你想要
(a OR b) AND c
请参阅“运算符的优先级”。从noti_card_数据中选择*,其中(mbrNo='1'或mbrNo='-')和cmd='success'@전준휘 为您提供了演示,如果它解决了您的问题,请单击勾号接受它。感谢您提供的查询无法产生您发布的结果。
a OR b AND c means a OR (b AND c)
(a OR b) AND c