sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan samler du mange til mange og beholder det samme samlede beløb

Jeg synes, du også skal partitionere med 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.

Resultatet ville være:

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

Er det det, du har brug for?




  1. Brug af URL-parametre i MYSQL-søgning

  2. Konverter til datetime fra Oracle

  3. Hvordan håndterer du ', enkelt citat i personnavne i php, javascript

  4. Sådan opdeles en streng i PostgreSQL