-2

我有以下查询:

SELECT  VoucherId, 
        PosDateEntered, 
        SUM(VoucherFaceValue) AS ValueIssued, 
        SUM(AmountUsed) AS ValueReedeemed, 
        RVtransactionAmount    
FROM [dbo].[LoyaltyVoucherTransactionDetails]
WHERE  VoucherId = '2000702' 
GROUP BY PosDateEntered, VoucherId, RVtransactionAmount

这将返回以下数据:

在此处输入图像描述

我怎样才能把它变成下面的结果?

在此处输入图像描述

我正在使用 SSMS 2014

4

2 回答 2

0

我不太确定,但我认为您将需要 ISNULL 而不是。你可以试试这个: VoucherId = '2000702' AND PosDateEntered!= NULL

如果您需要更多帮助,这可能会有所帮助: SQL - 满足两个条件时不显示行

于 2016-06-29T13:55:47.113 回答
0

这是我的解决方案。

create table test
(
    voucherid int,
    posdateentered datetime,
    valueissued int,
    valueredeemed int,
    rvtransactionamount decimal(9,3)
)

insert into test values (2000702, null, 5, 0, -5.00)
insert into test values (2000702, '4/2/2016', 5, 0, 5.00)

select distinct t1.voucherid, t2.posdateentered,
    t1.valueredeemed, t1.rvtransactionamount
from test t1
left join test t2 on t1.voucherid = t2.voucherid 
where t2.posdateentered is not null
于 2016-06-29T20:37:43.173 回答