0
我需要这些表选择打开和关闭平衡从SQL Server表
TransDate Credit Debit Datasource
------------------------------------------
2014-01-01 5000 NULL 3
2014-01-07 NULL 2000 3
2014-01-11 5000 NULL 3
2014-02-03 5000 NULL 3
2014-02-06 NULL 5000 4
2014-02-11 5000 NULL 3
2014-02-21 NULL 5000 4
2014-02-28 5000 NULL 3
2014-03-01 5000 NULL 3
选择从数据库打开和关闭的平衡,但它给了我这个,please see here
我究竟做错了什么?
我期望太高看
TransDate Credit Debit Balance
------------------------------------------
2014-01-11 NULL NULL 8000 <- opening balance
2014-02-03 5000 NULL
2014-02-06 NULL 5000
2014-02-11 5000 NULL
2014-02-21 NULL 5000
2014-02-28 5000 NULL 13000 <- closing balance
我的查询语句
Select
MAX(TransDate) TransDate, 0 Credit, 0 Debit,
SUM(ISNULL([Credit], 0) - ISNULL([Debit], 0)) AS Balance
From
Transactions
WHERE
DataSource = 4 OR DataSource = 3
AND TransDate < '2014/02/01'
UNION
Select
TransDate, Credit, Debit, 0
From
Transactions
WHERE
DataSource = 4 OR DataSource = 3
AND TransDate >= '2014/02/01' AND TransDate <= '2014/02/28'
UNION
Select
MIN(TransDate) TransDate, 0 Credit, 0 Debit,
SUM(ISNULL([Credit], 0) - ISNULL([Debit], 0)) AS Balance
From
Transactions
WHERE
DataSource = 4 OR DataSource = 3
AND TransDate >= '2014/02/01' AND TransDate <= '2014/02/28'
你是怎么想出8000的这个开头余额的? –
该报告正在2014年2月运行,所以我添加了所有信用 - 所有借记卡。你可以看到两个信用5000和一个2000年前 – Smith