这是我的剧本
SELECT '' AS [DATE],'' AS [INCOMING],'' AS [OUTGOING],BegBal AS [BALANCE]
FROM TABLE1 WHERE ItemCode='Item1'
UNION ALL
SELECT DelDate as [DATE],'' AS [INCOMING],Qty as [OUTGOING],''
FROM Table2 WHERE ItemCode='Item1'
UNION ALL
SELECT RecDate AS [DATE],Qty as [INCOMING],'' as [OUTGOING],''
FROM Table3 WHERE ItemCode='Item1'
我的结果是
DATE INCOMING OUTGOING BALANCE
1900-01-01 0.0 0.0 100.0
2014-06-05 0.0 2.0 0.0
2014-06-14 10.0 0.0 0.0
我希望我的结果像这样
DATE INCOMING OUTGOING BALANCE
1900-01-01 0.0 0.0 100.0
2014-06-05 0.0 2.0 98
2014-06-14 10.0 0.0 108
答案 0 :(得分:0)
declare @balance int
declare @outgoing int
SELECT @balance=sum(BegBal) FROM TABLE1 WHERE ItemCode='Item1'
SELECT @outgoing=sum(Qty) FROM Table2 WHERE ItemCode='Item1'
SELECT '' AS [DATE],'' AS [INCOMING],'' AS [OUTGOING],BegBal AS [BEGINING BALANCE]
FROM TABLE1 WHERE ItemCode='Item1'
UNION ALL
SELECT DelDate as [DATE],'' AS [INCOMING],Qty as [OUTGOING],@balance-Qty
FROM Table2 WHERE ItemCode='Item1'
UNION ALL
SELECT RecDate AS [DATE],Qty as [INCOMING],'' as [OUTGOING],@balance+Qty-@outgoing
FROM Table3 WHERE ItemCode='Item1'