次のクエリを起動しています>>
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 についても同じ]。
場合に備えて別のグループで試してみましたが、場合に許可されていないことがわかりました。
また、別の where 条件を使用してみましたが、うまくいきませんでした。
私を助けてください。