Предполагается, что мой запрос подсчитывает количество раз, когда конкретные клиенты были добавлены в таблицу за последний месяц. Если только использовать:
WHERE Return_Table.DateAdded >= DATEADD(month, -1, GETDATE())
Затем я получаю все «CustomerID» и «TimesReturned» в течение этого последнего месяца, и это кажется действительным, но когда я ищу конкретные записи, используя «И» и «ИЛИ» - я получаю результат, показанный ниже, однако это результат больше не учитывает записи за последний месяц.
Фактически, когда я включаю в поиск более или менее конкретных клиентов, значение «TimesReturned» изменяется. Так что, если я ищу «cust1-4», а затем «cust1-2» - TimesReturned считает 1 и 2 изменения.
MyQuery:
SELECT TOP 20 Return_Table.Customer_ID, COUNT(*) AS TimesReturned
FROM Return_Table
WHERE Return_Table.DateAdded >= DATEADD(month, -1, GETDATE()) AND
Return_Table.Customer_ID ='cust1' OR
Return_Table.Customer_ID ='cust2' OR
Return_Table.Customer_ID ='cust3' OR
Return_Table.Customer_ID ='cust4'
GROUP BY Return_Table.Customer_ID
ORDER BY TimesReturned DESC
Результат:
Customer_ID TimesReturned
Cust1 24
Cust2 14
Cust3 4
Cust4 2
..... ....
Хотя формат для этого результата правильный, в моем запросе должно быть что-то не так, чтобы значения менялись следующим образом.