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

Нуждаете се от заявка за свързване на уникален родител с дете, което не е уникално, но може да бъде направено уникално с MAX

Можете да направите това с ROW_NUMBER над TransDate за всеки UserId :

;With Cte As
(
    Select  L.[ID],
            L.[UserID],
            L.[Time],
            L.[Action],
            R.[Role],
            Row_Number() Over (Partition By [L].[UserId] Order By [R].[TransDate] Desc) Row_Number
    From    [TEST111].[dbo].[tblLog]    as L
    Join    [TEST111].[dbo].[tblRole]   as R    On  L.[UserID] = R.[UserID]
)
Select  [Id], [UserId], [Time], [Action], [Role]
From    Cte
Where   [Row_Number] = 1

Тази заявка ще изтегли най-новата информация за транзакция за всеки UserId .



  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 израз в CSV файл?

  2. Посочване на име на колона като параметър в израза SELECT?

  3. <функция със стойност на таблица> не е разпознато име на вградена функция

  4. Защо тази заявка е бавна първия път след като стартирам услугата?

  5. Как да получите списък на цялата база данни от sql сървър в разгъващ се списък с помощта на c#.net