-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 と NOT が必要になると思います。これを試すことができます: VoucherId = '2000702' AND PosDateEntered!= NULL

これ以上助けが必要な場合は、これが役立つかもしれません: SQL - 2 つの基準が満たされたときに行を表示しない

于 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 に答える