请求sql不应用条件

8i9zcol2  于 2021-06-24  发布在  Mysql
关注(0)|答案(2)|浏览(296)

我正在对此表执行sql请求:

请求如下:

SELECT event_datetime as day, event_param_2 as R1, event_param_3 as Content, event_code
FROM events
WHERE upcNameId = 'ExampleName'
AND event_param_2 = 1
AND event_datetime >= '2017-01-01 00:00:00'
AND event_datetime <= '2018-04-01 00:00:00'
AND event_code = 51 OR event_code = 52 OR event_code = 53 OR event_code = 54

这是我从中得到的结果:

我的问题很简单,既然我明确地说r1必须是1,我怎么能在r1列中得到除1以外的其他数字呢?

7vhp5slm

7vhp5slm1#

SELECT event_datetime as day, event_param_2 as R1, event_param_3 as Content, event_code
FROM events
WHERE upcNameId = 'ExampleName'
AND event_param_2 = 1
AND event_datetime >= '2017-01-01 00:00:00'
AND event_datetime <= '2018-04-01 00:00:00'
AND event_code in (51,52,53,54)

试试这个,因为你的where部分中的“or”,只要它满足“or”下的一个条件,它就会包含所有内容

az31mfrm

az31mfrm2#

使用括号:

SELECT event_datetime as day, event_param_2 as R1, event_param_3 as Content, event_code
FROM events
WHERE upcNameId = 'ExampleName'
AND event_param_2 = 1
AND event_datetime >= '2017-01-01 00:00:00'
AND event_datetime <= '2018-04-01 00:00:00'
AND (event_code = 51 OR event_code = 52 OR event_code = 53 OR event_code = 54)

或者,使用 IN :

SELECT event_datetime as day, event_param_2 as R1, event_param_3 as Content, event_code
FROM events
WHERE upcNameId = 'ExampleName'
AND event_param_2 = 1
AND event_datetime >= '2017-01-01 00:00:00'
AND event_datetime <= '2018-04-01 00:00:00'
AND event_code IN(51, 52, 53, 54)

相关问题