Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

पंक्ति में दिनांक मान से पहले नवीनतम दिनांक प्राप्त करें

आप बाहरी आवेदन का उपयोग कर सकते हैं . यह एक सहसंबद्ध उपश्रेणी की तरह है लेकिन कई स्तंभों की अनुमति देता है:

SELECT  p.ID, 
        p.Patient,
        p.ProcedureType,
        p.ProcedureDate,
        [LastExamDate] = exam.ProcedureDate, 
        [DaysSinceLastExam] = DATEDIFF(DAY, exam.ProcedureDate, p.ProcedureDate),
        [LastExamType] = exam.ProcedureType 
FROM    Procedures p
        OUTER APPLY
        (   SELECT  TOP 1 exams.ProcedureType, exams.ProcedureDate
            FROM    Procedures exams
            WHERE   Exams.ProcedureType LIKE '%Exam%'
            AND     Exams.Patient = p.Patient
            AND     Exams.ProcedureDate <= p.ProcedureDate
            ORDER BY Exams.ProcedureDate DESC
        ) exam;

SQL Fiddle पर उदाहरण



  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 सर्वर

  2. लिनक्स - पीएचपी 7.0 और एमएसएसक्यूएल (माइक्रोसॉफ्ट एसक्यूएल)

  3. अद्यतन विवरण में HAVING क्लॉज का उपयोग करना

  4. एमएस-एसक्यूएल में कॉलम में समूह और योग पंक्ति डेटा?

  5. SQL क्वेरी अनुकूलन