Как группировать, когда у меня есть один, вступило в брак с датой?

Я хочу группировать один жените, что видно что-либо подобное:

Select d.cuentaid,case when d.fecha between '2016-01-01' and '2016-01-30' then SUM(d.valor) else 0 END AS 'DEP-ENE',
case when d.fecha between '2016-02-01' and '2016-02-29' then SUM(d.valor) else 0 END AS 'DEP-FEB'
FROM deposito as d 
GROUP by d.fecha, d.cuentaid

Однако, останься, не группируясь из-за "cuentaid", результат продолжает выходить из-за каждого депозита и не группируемый из-за cuentaid, я это группировал также из-за даты, потому что sql просил это у меня.

Так он продолжает вытекать:

023-303-593723  137135  0
023-303-593723  3000    0
023-303-593723  2500    0
023-303-593723  12757   0
023-303-593723  12055   0

0
задан 04.11.2019, 17:39
1 ответ

Ты должен помещать ее funciГіn добавленный снаружи CASE.

SELECT d.cuentaid,
    SUM(CASE WHEN d.fecha BETWEEN '2016-01-01' AND '2016-01-30' THEN d.valor ELSE 0 END) AS 'DEP-ENE',
    SUM(CASE WHEN d.fecha BETWEEN '2016-02-01' AND '2016-02-29' THEN d.valor ELSE 0 END) AS 'DEP-FEB'
FROM deposito as d 
GROUP BY d.cuentaid;
0
ответ дан 01.12.2019, 12:49
  • 1
    Большое спасибо, ты был много помощи. – Felipe Mancía 04.11.2019, 17:45