Как отфильтровать много условий в месяцах того же года? - PullRequest
0 голосов
/ 23 декабря 2019

Я хочу отфильтровать свою базу данных в транзакции в мае и июне 2017 года. Вот мой синтаксис, но он был неверным:

SELECT
    order_buyer.buyer_id 
FROM order_buyer 
WHERE month(createdAt)=5 
AND month(createdAt)=6 
AND year(createdAt)=2017 
GROUP BY order_buyer.buyer_id;

1 Ответ

0 голосов
/ 23 декабря 2019

Это потому, что ваш запрос недействителен, помните, что SQL основан на логических вопросах, а вы задаете следующий вопрос:

"Пожалуйста, дайте мне идентификатор покупателя из Order_buyer, где месяц 5 & 6? "

Это невозможно, поскольку никакая запись не может быть" MayJune "и, в зависимости от вашей платформы, будет либо содержать ошибку, либо игнорировать предложение where.

Вам потребуется использовать оператор OR дляэтот запрос:

SELECT 
  order_buyer.buyer_id 
FROM 
  order_buyer 
WHERE 
  (
    month(createdAt)= 5 
    OR month(createdAt)= 6
  ) 
  and year(createdAt)= 2017 
GROUP BY 
  order_buyer.buyer_id;

Я считаю, что это должно работать, дайте мне знать, как вы поживаете! : D

...