Хотел бы показать диапазон дат для 7 дней данных и 30 дней данных в одном и том же результате - PullRequest
0 голосов
/ 11 октября 2011

У меня есть запрос, который объединяет две таблицы, которые ищут имя для идентификатора члена, который в настоящее время работает.Я пытаюсь отобразить данные, используя один и тот же запрос, чтобы получить 7 дней и 30 дней в одной строке для одного участника.

Вот что я думаю

Member Name | Metric 1 (7 days) | Metric 2 (7 days) | Metric 3 (7 Days)| Metric 1 (30 days) | Metric 2 (30 days) | Metric 3 (30 days) 

1 Ответ

0 голосов
/ 11 октября 2011

Итак, как-то так?

SELECT  MemberName,
        MIN(CASE WHEN SomeDate BETWEEN DATEADD(DAY,-7,GETDATE()) AND GETDATE() THEN [Metric 1] END) [Metric 1 (7 days)],
        MIN(CASE WHEN SomeDate BETWEEN DATEADD(DAY,-7,GETDATE()) AND GETDATE() THEN [Metric 2] END) [Metric 2 (7 days)],
        MIN(CASE WHEN SomeDate BETWEEN DATEADD(DAY,-7,GETDATE()) AND GETDATE() THEN [Metric 3] END) [Metric 3 (7 days)],
        MIN([Metric 1]) [Metric 1 (30 days)],
        MIN([Metric 2]) [Metric 2 (30 days)],
        MIN([Metric 3]) [Metric 3 (30 days)]
FROM YourTable
WHERE SomeDate BETWEEN DATEADD(DAY,-30,GETDATE()) AND GETDATE()
GROUP BY MemberName
...