Выберите клиентов между двумя наборами дат, а не просто двумя датами - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть следующий код:

select ifnull(c.clientid,0) as ClientID, c.surname as Surname, c.addr1 as Address1, c.postcode as Postcode
from cust c
where (c.tour_date between '2019-06-10' and '2019-06-18')
and (c.tour_date between '2019-07-15' and '2019-07-23')
group by ClientID, Surname, Address1, Postcode
order by ClientID asc

И это не работает - я пытаюсь выбрать даты между двумя наборами дат.Традиционно мы просто выбираем 2019-06-10 и 2019-07-23, но есть много клиентов, которые мы включаем, которые не должны быть включены.

Не важно, я изменил and на or, и этоработаю, глупый я!

EDIT2: А, вообще-то, когда я использую or, я получаю 2,005 клиентов, но когда я делаю две отдельные выдержки, я получаю 2,029 клиентов.Есть идеи?

1 Ответ

0 голосов
/ 09 апреля 2019

У вас больше клиентов по отдельным запросам, потому что у некоторых есть записи между обоими диапазонами дат. Предложение group by удаляет дубликаты.

...