我所需输出的正确SQL脚本是什么?

时间:2014-06-05 08:01:45

标签: sql-server-2000

这是我的剧本

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

1 个答案:

答案 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'