sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man slår ihop många till många och behåller samma totala summa

Jag tycker att du också bör partitionera 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 skulle bli:

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

Är det vad du behöver?




  1. MySQL:Är det möjligt att skapa en fråga som utvärderar data från olika poster?

  2. vilket är det bättre sättet att ändra teckenuppsättningen för stora datatabeller?

  3. Sequelize findAll är inte en funktion

  4. Oracle ADF på JBoss:Wrapped Jdbc Connection problem