Запрос SQL не применяет условия - PullRequest
0 голосов
/ 26 апреля 2018

Я делаю запрос SQL для этой таблицы:

enter image description here

Это запрос:

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

И этоэто результат, который я получаю из этого:

enter image description here

Мой вопрос прост, как я могу получить другие числа, кроме 1 в столбце R1, так как я явно сказалчто это должно быть 1?

Ответы [ 2 ]

0 голосов
/ 26 апреля 2018
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)

попробуйте это из-за вашего «ИЛИ» в части «где», оно будет включать в себя все, пока выполняется одно из условий в «ИЛИ»

0 голосов
/ 26 апреля 2018

Используйте скобки:

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...