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

Nối hai bảng, chỉ sử dụng giá trị mới nhất của bảng bên phải

Nếu SQL Server 2005+

;WITH m AS 
(
   SELECT Partnum, Formula, RevisionNum,
     rn = ROW_NUMBER() OVER (PARTITION BY PartNum ORDER BY 
       CASE WHEN RevisionNum ='New' THEN 1 ELSE 2 END)
     FROM dbo.Material
)
SELECT p.PartNum, m.Formula, m.RevisionNum
FROM dbo.Parts AS p
INNER JOIN m ON p.PartNum = m.PartNum
WHERE m.rn = 1;

Mặc dù tò mò, bạn sẽ làm gì khi có hơn 26 bản sửa đổi (ví dụ:những gì xuất hiện sau Z )?



  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ách lấy dữ liệu từ html trong cột SQL Server

  2. Cách nhập cơ sở dữ liệu SQL Server vào Access 2016

  3. Tạo một bảng SQL Server từ một dữ liệu C #

  4. danh sách các bảng không có chỉ mục trong sql 2008

  5. Tầm quan trọng của nhật ký giao dịch trong SQL Server