How to order result in ascending order if it is Month Name
<p>I am writing a query to sum values from two different tables and find sale and purchase per month. After that I am ordering it in ascending order and as expected its giving false result, i.e August is coming before February.</p>

<p>How can I modify my query to get result correctly?</p>

<p>Here is my query:</p>

<pre><code> SELECT COALESCE(o.Month , p.Month) Month,
        ISNULL([Sale Cost],0) [Sale Cost],
        ISNULL([Purchase Cost],0) [Purchase Cost]
 FROM (
     Select sum(S.Cost) AS [Purchase Cost],
            DateName( month , DateAdd( month , month(S.[Date_Added]) , -1 ) ) As Month
     from dbo.Spare_Inventory AS S
     where YEAR(GETDATE()) = YEAR(S.[Date_Added])
     GROUP BY month(S.[Date_Added])
     ) o
 FULL JOIN (
     Select sum(B.[Total Price]) AS [Sale Cost],
            DateName(month, DateAdd( month , month(B.[DateOfSale]) , -1 ) ) As Month
     from dbo.Spare_Sale_DB AS B
     where YEAR(GETDATE()) = YEAR(B.[DateOfSale])
     GROUP BY month(B.[DateOfSale])) p
 ON o.Month = p.Month
 ORDER BY Month Asc
</code></pre>