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

Row_Number () với truy vấn liên hợp

Hãy thử điều này:

SELECT *, ROW_NUMBER() OVER(ORDER BY Id) ROW_NUM
  FROM (
        select Id, VersionNumber from documents where id=5 
        Union all  
        select Id, VersionNumber from versions where id=5
       ) a
order by VersionNumber desc

ĐỂ lọc theo phiên bản số 5, hãy sử dụng:

SELECT * 
FROM   (SELECT *, 
               Row_number() OVER(ORDER BY versionnumber DESC, id) row_num 
        FROM   (SELECT id, 
                       versionnumber 
                FROM   documents 
                WHERE  id = 5 
                UNION ALL 
                SELECT id, 
                       versionnumber 
                FROM   versions 
                WHERE  id = 5) a) b 
WHERE  version = 5 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo ** trần ** TẠO BẢNG và TẠO trạng thái PROC trong SQL Server

  2. Chuyển đổi ‘datetime2’ thành ‘time’ trong SQL Server (Ví dụ T-SQL)

  3. Tại sao lại sử dụng mệnh đề INCLUDE khi tạo chỉ mục?

  4. Các phương pháp hay nhất để tuần tự hóa DateTime trong .NET 3.5

  5. Định dạng HTML trong sp_send_dbmail