我的以下查询未显示所需结果.我不明白我在哪里使用括号错误
查询:
SELECT `orders`.*, `users`.`fullname`, `users`.`phone`
FROM `orders`
JOIN `users` ON `orders`.`userId` = `users`.`id`
WHERE `orders`.`payment_verified_status` = '1'
AND (`orders`.`restId` = 132 OR `orders`.`restId` = 133 OR `orders`.`restId` = 134)
AND (`rest_brId` != 156 OR `rest_brId` != 188 OR `rest_brId` != 157 OR `rest_brId` != 691 OR `rest_brId` != 158)
Run Code Online (Sandbox Code Playgroud)
但是这些行不应该来,因为我在查询中提到过 rest_brId != 156
请帮忙.谢谢!
用途in:
SELECT o.*, u.`fullname`, u.`phone`
FROM `orders` o JOIN
`users` u
ON o.`userId` = u.`id`
WHERE o.`payment_verified_status` = 1 AND
o.`restId` IN (132, 133, 134) AND
?.`rest_brId` NOT IN (156, 188, 157, 691, 158)
Run Code Online (Sandbox Code Playgroud)
请注意?.这是为了talbe别名rest_brID.
你的逻辑问题是OR不等于,而不是括号.逻辑的那部分总是评估为真,因为你实际上想要AND而不是OR逻辑的那部分.
| 归档时间: |
|
| 查看次数: |
35 次 |
| 最近记录: |