Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak dołączyć wiele do wielu i zachować tę samą łączną kwotę

Myślę, że powinieneś partycjonować również przez 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.

Wynik byłby następujący:

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

Czy tego potrzebujesz?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak sprawdzić, ile wierszy zostanie dotkniętych przed uruchomieniem zapytania w serwerze microsoft sql 2008

  2. Pobierz wszystko po i przed określonym znakiem w SQL Server

  3. Jak łatwo i szybko sparametryzować ciąg o wartości null za pomocą DBNull.Value?

  4. przechowywanie plików na serwerze sql 2008 przy użyciu opcji filestream

  5. Zainstaluj SQL Server 2019 na komputerze Mac