sql >> Database >  >> RDS >> Sqlserver

Hoe u zich bij veel op veel kunt voegen en hetzelfde totale bedrag kunt behouden?

Ik denk dat je ook moet partitioneren op cte1.AccidentYear, cte1.AccidentMonth .

CASE
WHEN ROW_NUMBER() OVER (PARTITION BY cte1.QuoteID, cte1.PolicyNumbe  cte2.LossYear, cte2.AccidentMonth ORDER BY (SELECT 0))=1 THEN cte1.PaidLosses 
ELSE 0
END  as PaidLosses.

Het resultaat zou zijn:

QuoteId PolicyNumber    AccidentYear    AccidentMonth   ClassCode   

PaidLosses
191289  PACA1001776-0   2015    4   50228   26657
191289  PACA1001776-0   2015    4   67228   0
191289  PACA1001776-0   2015    9   50228   16718
191289  PACA1001776-0   2015    9   67228   0
191289  PACA1001776-0   2016    1   50228   3445
191289  PACA1001776-0   2016    1   67228   0

Is dat wat je nodig hebt?




  1. Aanmaaktabel met php

  2. Datums vergelijken met tussenclausule in slaapstand

  3. Op Oracle gebaseerde PIVOT met meerdere kolommengroep

  4. Geavanceerde SQL:uitvoer van de geparametriseerde functie met tabelwaarde in SQL-tabel invoegen