У меня есть временная таблица, в которой я создаю запрос в следующем формате. Он содержит запись для каждого идентификатора клиента, года и месяца за несколько лет.
# * T * 1003
Клиент | CustomerID | Год | Месяц
ех.
Foo | 12345 | 2008 | 12
Foo | 12345 | 2008 | 11
Bar | 11224 | 2007 | 7
Когда я присоединяю эту временную таблицу к другой таблице следующего формата, я получаю намного больше результатов, чем ожидаю.
Событие
EventID | CustomerID | DateOpened
ех.
1100 | 12345 | '2008-12-11 10:15:43'
1100 | 12345 | '2008-12-11 11:25:17'
Я пытаюсь получить результирующий набор количества событий вместе с такими как Клиент, Год и Месяц.
SELECT COUNT(EventID), Customer, Year, Month
FROM [Event]
JOIN #T ON [Event].CustomerID = #T.CustomerID
WHERE [Event].DateOpened BETWEEN '2008-12-01' AND '2008-12-31'
GROUP BY Customer, Year, Month
ORDER BY Year, Month
Я получаю записи за каждый год и месяц, а не только за декабрь 2008 года.