Lamprey
Master Smack Fu Yak Hacker
4614 Posts |
Posted - 2012-03-07 : 12:06:51
|
[code]DECLARE @T TABLE (Order_No INT, [Year] INT, [Quarter] INT, MonthID INT, [Month] VARCHAR(20), Status BIT)INSERT @T VALUES(154545, 2011, 1, 1, 'January', 1),(105200, 2011, 1, 2, 'February', 1),(166334, 2011, 1, 3, 'March', 1),(225444, 2011, 2, 4, 'April', 1),(885451, 2011, 2, 5, 'May', 1),(477444, 2011, 2, 6, 'June', 1),(111554, 2011, 3, 7, 'July', 1),(588775, 2011, 3, 8, 'August', 1),(877777, 2011, 3, 9, 'September', 1),(125666, 2011, 4, 10, 'October', 1),(877777, 2011, 4, 11, 'November', 0),(125666, 2011, 4, 12, 'December', 0),(154545, 2012, 1, 1, 'January', 0),(105200, 2012, 1, 2, 'February', 0),(166334, 2011, 1, 3, 'March', 0),(225444, 2011, 2, 4, 'April', 0),(885451, 2011, 2, 5, 'May', 0),(477444, 2011, 2, 6, 'June', 0),(111554, 2011, 3, 7, 'July', 0),(588775, 2011, 3, 8, 'August', 0),(877777, 2011, 3, 9, 'September', 0),(125666, 2011, 4, 10, 'October', 0)SELECT [Month], [Year]FROM @T AS T INNER JOIN ( SELECT MAX(DATEADD(MONTH, (([Year] -1900)*12) + MonthID, 0)) AS MaxYearMonth FROM @T WHERE Status = 1 ) AS A ON DATEADD(MONTH, ((T.[Year] -1900)*12) + T.MonthID, 0) = A.MaxYearMonthWHERE Status = 1-- Or more simply:SELECT TOP 1 [Month], [Year]FROM @T AS TWHERE Status = 1ORDER BY (T.[Year] * 100 + T.MonthID) DESC[/code]EDIT posted wrong query |
 |
|