sql >> Databáze >  >> RDS >> Sqlserver

Potřebujete dotaz ke spojení jedinečného rodiče s potomkem, který není jedinečný, ale může být jedinečný pomocí MAX

Můžete to provést pomocí ROW_NUMBER přes TransDate pro každé 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

Tento dotaz získá nejnovější informace o transakci pro každé UserId .



  1. Počítat počet po sobě jdoucích návštěv

  2. Postgres výpis pouze částí tabulek pro vývojový snímek

  3. Doporučené postupy pro zotavení po havárii Microsoft SQL Server

  4. Je design PHP, Python, PostgreSQL vhodný pro obchodní aplikaci?