求一个 mysql 语句同时满足两列的条件进行筛选

2021-01-23 17:29:29 +08:00
 cs5117155
SELECT `o`.`id`,`o`.`pay_type`,`o`.`operation_id`,`o`.`order_no` FROM `pay_auth_log` `o` WHERE  `o`.`status` < 99  AND `pay_status` <= 1;

这条语句怎么改为,当pay_type=2 && operation_id为空的时候就过滤改条信息,但是pay_type=1时,operation_id为空时,该记录需要展示出来。

1589 次点击
所在节点    MySQL
5 条回复
eason1874
2021-01-23 17:33:40 +08:00
`pay_type` = 1 OR (`pay_type` = 2 AND `operation_id` IS NOT NULL)
easonzhang666
2021-01-23 17:37:28 +08:00
and ((xx ) or (xx))
cs5117155
2021-01-23 18:01:46 +08:00
good
deargodfrey
2021-01-23 18:06:42 +08:00
mysql 能用 not 吗如果有的话就只要加个 AND NOT (paytype=2 and operationid is null)
cs5117155
2021-01-26 22:19:59 +08:00
@deargodfrey 这个也不错

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/747716

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX