DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/)
-   MS SQL (http://www.daniweb.com/forums/forum127.html)
-   -   Query Total Asset (http://www.daniweb.com/forums/thread77599.html)

williamindo May 7th, 2007 12:33 am
Query Total Asset
 
Asset Table

+-------+---------+-----------+
| Date | Asset | Value |
+-------+---------+-----------+
|1/1/07 |Building | $1000 |
|1/2/01 |Computer | $ 500 |
|2/1/07 | Fax | $ 100 |
+-------+--------+------------+

Result Table I would Like;
+-------+---------------+
| Month | Total Asset |
+-------+---------------+
| 1 | $1500 |
| 2 | $1600 |
+-------+---------------+

However using the following query like this:
"SELECT Sum(Value) AS Total_Aset, Month(Date) AS Month
FROM Asset
WHERE Asset.date between Begindate And Enddate
GROUP BY Month(date);"

I have incorrect query like
+-------+---------------+
| Month | Total Asset |
+-------+---------------+
| 1 | $1500 |
| 2 | $100 |
+-------+---------------+

Can Anyaone help me on this problem?
Thanx...

MidiMagic May 8th, 2007 1:40 am
Re: Query Total Asset
 
You are not summing in the previous month.

cfAllie May 12th, 2007 8:47 pm
Re: Query Total Asset
 
Quote:

Originally Posted by MidiMagic (Post 361961)
You are not summing in the previous month.



As Midimagic said, you need to sum the previous month(s) too. One way to do this is using a join

SELECT    curr.AssetYear, curr.AssetMonth,
    SUM(curr.Total + ISNULL(prev.Total, 0)) AS Asset_Total
FROM    (
      SELECT  Year(Date) AS AssetYear,
          Month(Date) AS AssetMonth,
          Sum(Value) AS Total
          FROM    Asset
      WHERE  date between @beginDate And @endDate
      GROUP BY Year(Date), Month(Date)
    )
    AS curr LEFT JOIN
    (
      SELECT  Year(Date) AS AssetYear,
          Month(Date) AS AssetMonth,
          Sum(Value) AS Total
          FROM    Asset
      WHERE  date between @beginDate And @endDate
      GROUP BY Year(Date), Month(Date)
    )
    AS prev ON curr.AssetYear = prev.AssetYear
        AND curr.AssetMonth > prev.AssetMonth
GROUP BY curr.AssetYear, curr.AssetMonth


All times are GMT -4. The time now is 11:48 pm.

Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC