Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách tham gia nhiều thành nhiều và giữ nguyên tổng số tiền

Tôi nghĩ bạn cũng nên phân vùng theo 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.

Kết quả sẽ là:

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

Bạn có cần cái đó không?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Có cách nào để CHỌN và CẬP NHẬT hàng cùng một lúc không?

  2. OPENROWSET không chấp nhận các biến cho các đối số của nó (SQL Server)

  3. Tham gia một bàn với chính nó

  4. Kết nối HP-UX Itanium với SQL Server

  5. Lấy các bản ghi gần đây nhất với 2 mục nhập liên quan trở lên với SQL