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

Cần truy vấn để liên hệ cha mẹ duy nhất với con không phải là duy nhất nhưng có thể là duy nhất với MAX

Bạn có thể thực hiện việc này với ROW_NUMBER qua TransDate cho mỗi 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

Truy vấn này sẽ lấy thông tin giao dịch gần đây nhất cho mỗi 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. Cách xác định giá trị của bạn dưới dạng DBA cho người điều hành tài chính

  2. Máy chủ SQL của bạn khỏe mạnh như thế nào? Giám sát cơ sở dữ liệu chủ động là rất quan trọng

  3. Thiết kế cơ sở dữ liệu:Tính Số dư Tài khoản

  4. Khai báo biến nhiều giá trị trong SQL

  5. Chia một cột thành nhiều hàng