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. नवरचर (अधिकतम) के लिए मुझे टीएसक्यूएल में केवल 4000 वर्ण मिल रहे हैं?

  2. SQL सर्वर में दो तिथियों के बीच सभी तिथियां प्राप्त करें

  3. SQL सर्वर के लिए समूहीकृत स्ट्रिंग एकत्रीकरण / LISTAGG

  4. सूची को अल्पविराम से अलग किए गए स्ट्रिंग में सारांशित करें

  5. SQL सर्वर (T-SQL उदाहरण) में लिंक किए गए सर्वर से कॉलम जानकारी लौटाएं