这是我的查询
select
a.TrustMemName,
a.DonorFirstName,
CASE WHEN a.DateFulfilled1 between '2017-01-01' and '2017-03-31' THEN sum(a.AmountFulfilled)
ELSE null
END as qurter1,
CASE WHEN a.DateFulfilled1 between '2017-04-01' and '2017-06-30' THEN sum(a.AmountFulfilled)
ELSE null
END as qurter2,
CASE WHEN a.DateFulfilled1 between '2017-07-01' and '2017-09-30' THEN sum(a.AmountFulfilled)
ELSE null
END as quarter3,
CASE WHEN a.DateFulfilled1 between '2017-10-01' and '2017-12-31' THEN sum(a.AmountFulfilled)
ELSE null
END as quarter4
from
commitmentcomplete as a
where a.YourCommitmentId=171
group by a.YourCommitmentId,QUARTER(a.DateFulfilled1)
- - - - - - - - - - 输出 - - - - - - - - - - - - -
TrustMemName | DonorFirstName | qurter1 | qurter2 | quarter3 | quarter4
nithin | xdfcdg | 3000 | null | null | null
nithin | xdfcdg | null | 1500 | null | null
这里我需要在第 2 季度列的第一行 1500,谢谢
你必须把CASE
里面的SUM
SUM( CASE WHEN a.DateFulfilled1 between '2017-01-01' and '2017-03-31'
THEN a.AmountFulfilled
END) as qurter1,
SUM( CASE WHEN a.DateFulfilled1 between '2017-04-01' and '2017-06-30'
THEN a.AmountFulfilled
END) as qurter2,
SUM( CASE WHEN a.DateFulfilled1 between '2017-07-01' and '2017-09-30'
THEN a.AmountFulfilled
END) as qurter3,
SUM( CASE WHEN a.DateFulfilled1 between '2017-10-01' and '2017-12-31'
THEN a.AmountFulfilled
END) as qurter4
我删除了ELSE NULL
因为这是默认选项。
你只需要GROUP BY a.YourCommitmentId
不需要包括QUARTER()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句