我射擊以下查詢>>unble由日化集團在我的查詢
SELECT sauda_date,
Sum(CASE
WHEN buy_sell = 1
AND scrip_code = 'ADANIENT'
AND sauda_date BETWEEN CONVERT(DATETIME, '1 Mar 2013') AND
CONVERT(DATETIME, '1 Apr 2013') THEN
trade_qty
ELSE 0
END) AS BuyQty,
Sum(CASE
WHEN buy_sell = 2
AND scrip_code = 'ADANIENT'
AND sauda_date BETWEEN CONVERT(DATETIME, '1 Mar 2013') AND
CONVERT(DATETIME, '1 Apr 2013') THEN
trade_qty
ELSE 0
END) AS SellQty,
Sum(CASE
WHEN buy_sell = 1
AND scrip_code = 'ADANIENT' THEN trade_qty
ELSE 0
END) - Sum(CASE
WHEN buy_sell = 2
AND scrip_code = 'ADANIENT' THEN trade_qty
ELSE 0
END) AS CarryForword
FROM tradefile
WHERE scrip_code = 'ADANIENT'
GROUP BY sauda_date
和我得到以下結果:
sauda_date | Buy_Qty | SellQty | CarryForward
01 Mar 2013 2000 0 2000
01 Mar 2013 0 2000 0
01 Mar 2013 4000 0 4000
02 Mar 2013 0 1000 3000
02 Mar 2013 2000 0 5000
03 Mar 2013 0 4000 1000
但我希望它是:
sauda_date | Buy_Qty | SellQty | CarryForward
01 Mar 2013 6000 2000 4000
02 Mar 2013 2000 1000 5000
03 Mar 2013 0 4000 1000
我們可以從表中看到:
CaryyForward=Buy_Qty-Sell_Qty;
01 Mar 2013 is date and Buy_Qty=sum(buy_Qty) for 01 Mar 2013.
02 Mar 2013 is date and Buy_Qty=sum(buy_Qty) for 02 Mar 2013.
[與Sell_Qty和CarryForward相同]。
我以不同的羣試圖通過時的情況下,但才知道,它不是在當情況允許的。
我也用不同的地方條件但不工作的嘗試。
請幫幫我。
爲什麼downvote ??? – Freelancer 2013-04-04 09:58:38