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. SQL Server Management Studio(SSMS)を使用したデータベース設計の学習–パート2

    2. SQLServerで特定の列を含むテーブルを見つける方法

    3. LinuxからWindowsへのmysqlダンプ

    4. mysql.webアセンブリを読み込めません