Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Row_Number() със заявка за обединение

Опитайте това:

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

ЗА филтриране по версия номер 5 използвайте:

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. SQL Премахване на почти дублирани редове

  2. SQL Server FileStream как да попълните колоната на файловия поток

  3. Вземете стойност на колона от низ име на колона sql

  4. Външни ключове на SQL Server през границите на базата данни - техники за налагане

  5. Преобразуване на произволна дата от сървърно време в потребителско време (за стандартно и лятно часово време)