2011-10-11 52 views
0

我有一個查詢連接兩個表,查找當前工作的成員標識的名稱。我正在嘗試使用相同的查詢來顯示數據,以便爲一個成員生成一行7天和30天的值。想要在相同結果中顯示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) 
+0

如果您提供了一些樣本數據,然後提供了樣本所需的輸出,您很可能會得到一個很好的答案。 –

回答

0

所以,這樣的事情?

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