Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8310819
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 8, 20262026-06-08T19:35:55+00:00 2026-06-08T19:35:55+00:00

I have a monstrous query, that if you can completely understand, I will give

  • 0

I have a monstrous query, that if you can completely understand, I will give you some serious props:

DECLARE @flightDateOrNow DATE = GETDATE()
DECLARE @pilotID INT = 1

SELECT P7.pilotID 
FROM Pilot P7
WHERE location = 'DPG';


SELECT P1.pilotID, BasicInfo.lName, BasicInfo.fName, 
        PilotExamTemp.examType, PilotExamTemp.examDate,

        (CASE
            WHEN EXISTS (SELECT 1 
                         FROM PilotGFRCertification 
                         WHERE pilotID = @pilotID 
                            AND certificationPosition = 'AVO'
                            AND certification = 'TNG')
                AND NOT EXISTS (SELECT 1 
                                 FROM PilotGFRCertification 
                                 WHERE pilotID = @pilotID 
                                    AND certificationPosition = 'AVO'
                                    AND certification = 'AVO')
                THEN 'X'
            ELSE ''
         END) TNG,

         (CASE
            WHEN EXISTS (SELECT 1 
                         FROM PilotGFRCertification 
                         WHERE pilotID = @pilotID 
                            AND certificationPosition = 'AVO'
                            AND certification = 'AVO')
                THEN 'X'
            ELSE ''
         END) AVO,

        (CASE
            WHEN EXISTS (SELECT 1 
                         FROM PilotGFRCertification 
                         WHERE pilotID = @pilotID 
                            AND certificationPosition = 'AVO'
                            AND certification = 'MC')
                THEN 'X'
            ELSE ''
         END) MC,

        (CASE
            WHEN EXISTS (SELECT 1 
                         FROM PilotGFRCertification 
                         WHERE pilotID = @pilotID 
                            AND certificationPosition = 'AVO'
                            AND certification = 'IO')
                THEN 'X'
            ELSE ''
         END) [IO],

        (CASE
            WHEN EXISTS (SELECT 1 
                         FROM PilotGFRCertification 
                         WHERE pilotID = @pilotID 
                            AND certificationPosition = 'AVO'
                            AND certification = 'SO')
                THEN 'X'
            ELSE ''
         END) SO,

         ISNULL((SELECT SUM(P3.flightHours) MCTotal
          FROM PilotLog P3
          WHERE P3.pilotID = P1.pilotID
            AND (flightDate <= P1.flightDate)
            AND topLevelPosition = 'AVO'
            AND dutyStation = 'MC'
         ), 0) MCTotal,

         ISNULL((SELECT SUM(P3.flightHours) AVOTotal
          FROM PilotLog P3
          WHERE P3.pilotID = P1.pilotID
            AND (flightDate <= P1.flightDate)
            AND topLevelPosition = 'AVO'
            AND dutyStation <> 'MC'
         ), 0) AVOTotal,

         (SELECT DATEADD(day, 60, (SELECT TOP 1 flightDate 
                                    FROM PilotLog P3
                                    WHERE P3.flightDate < P1.flightDate
                                        AND P3.topLevelPosition = 'AVO'
                                        AND P3.dutyStation = 'MC'
                                    ORDER BY P3.flightDate DESC))

         ) currency60Day,
         (  
            SELECT COUNT(*) 
            FROM PilotLog P4 
            WHERE P4.pilotID = @pilotID  
                AND topLevelPosition = 'AVO'
                AND sortieGained = 'True'
                AND (P4.flightDate BETWEEN (CASE     
                                           WHEN P1.flightDate > (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))))   )), DATEADD(m,7,(DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))))   )))    
                                                THEN (DATEADD(yyyy, 1, (DATEADD(dd,-(DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID)))))-1),DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID)))))) ))    
                                           WHEN P1.flightDate > (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))))       
                                                THEN (DATEADD(dd,-(DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID)))))-1),DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))))        
                                           ELSE (DATEADD(dd,-(DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID)))))-1),DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))))    
                                        End) 
                                        AND 
                                        (P1.flightDate))) semiSorties,
        (  
            SELECT SUM(P4.flightHours)
            FROM PilotLog P4 
            WHERE P4.pilotID = @pilotID  
                AND topLevelPosition = 'AVO'
                AND sortieGained = 'True'
                AND (P4.flightDate BETWEEN (CASE     
                                           WHEN P1.flightDate > (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))))   )), DATEADD(m,7,(DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))))   )))    
                                                THEN (DATEADD(yyyy, 1, (DATEADD(dd,-(DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID)))))-1),DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID)))))) ))    
                                           WHEN P1.flightDate > (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))))       
                                                THEN (DATEADD(dd,-(DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID)))))-1),DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))))        
                                           ELSE (DATEADD(dd,-(DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID)))))-1),DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), P1.flightDate) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))))    
                                        End) 
                                        AND 
                                        (P1.flightDate))) semiSortieHours,

        (CASE     
           WHEN @flightDateOrNow > (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))))   )), DATEADD(m,7,(DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))))   )))    
                THEN (DATEADD(yyyy, 1, (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))))   ))    
           WHEN @flightDateOrNow > (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))))        
                THEN (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))), DATEADD(m,13,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))))      
           ELSE (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))))))      
        End) semiEnd,


        (CASE   
            WHEN @flightDateOrNow > (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, (DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), @flightDateOrNow)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))) )), DATEADD(m,13,(DATEADD(yyyy, (DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), @flightDateOrNow)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))) ))) THEN (DATEADD(yyyy, 1, (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, (DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), @flightDateOrNow)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))) )), DATEADD(m,13,(DATEADD(yyyy, (DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), @flightDateOrNow)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))) )))))  
            ELSE (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, (DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), @flightDateOrNow)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))) )), DATEADD(m,13,(DATEADD(yyyy, (DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID), @flightDateOrNow)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = @pilotID))) )))  
        END) annualEnd,

        PMTemp.expirationDate, PMTemp.classFAAMedical


FROM PilotLog P1, Pilot BasicInfo,
        (SELECT DATEADD(dd, -DAY(DATEADD(m,1, medicalDate)), DATEADD(m,13,medicalDate)) expirationDate, classFAAMedical  
         FROM PilotMedical  
         WHERE (pilotID = @pilotID)  
            AND medicalDate = (SELECT MAX(medicalDate) FROM PilotMedical WHERE pilotID = @pilotID)) AS PMTemp,
        (SELECT *
         FROM PilotExam
         WHERE (pilotID = @pilotID)
            AND examPosition = 'AVO'
            AND examDate = (SELECT MAX(examDate) FROM PilotExam WHERE pilotID = @pilotID AND examPosition = 'AVO')) AS PilotExamTemp


WHERE P1.pilotID = @pilotID 
    AND P1.topLevelPosition = 'AVO'
    AND P1.pilotID = BasicInfo.pilotID
    AND P1.flightDate = (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = @pilotID)
    ORDER BY flightDate DESC

This results in:

pilotID
1
2
3
4
5


pilotID lName   fName   examType    examDate    TNG AVO MC  IO  SO  MCTotal AVOTotal    currency60Day   semiSorties semiSortieHours    semiEnd  annualEnd   expirationDate  classFAAMedical
1       Wilkins Landon  Written     2012-10-11      X   X   X       16.3    7.0          2012-08-14       2         16.7             2012-10-31 2012-10-31  2013-04-30         Third

But what I want is the real long line for each of those pilotIDs. Is there an easy way to do this? Or do I have to completely restructure my SQL? (BTW, the really hairy part of that SQL is me figuring out the pilot’s semi annual start and end period, as it is based on their birth month. Quite annoying really)

EDIT #1:

I have it mostly working with the following:

DECLARE @flightDateOrNow DATE = GETDATE()


SELECT P7.pilotID 
FROM Pilot P7
WHERE location = 'DPG';


SELECT DISTINCT BasicInfo.pilotID, BasicInfo.lName, BasicInfo.fName,

        (CASE
            WHEN EXISTS (SELECT 1 
                         FROM PilotGFRCertification 
                         WHERE pilotID = P1.pilotID 
                            AND certificationPosition = 'AVO'
                            AND certification = 'TNG')
                AND NOT EXISTS (SELECT 1 
                                 FROM PilotGFRCertification 
                                 WHERE pilotID = P1.pilotID 
                                    AND certificationPosition = 'AVO'
                                    AND certification = 'AVO')
                THEN 'X'
            ELSE ''
         END) TNG,

         (CASE
            WHEN EXISTS (SELECT 1 
                         FROM PilotGFRCertification 
                         WHERE pilotID = P1.pilotID 
                            AND certificationPosition = 'AVO'
                            AND certification = 'AVO')
                THEN 'X'
            ELSE ''
         END) AVO,

        (CASE
            WHEN EXISTS (SELECT 1 
                         FROM PilotGFRCertification 
                         WHERE pilotID = P1.pilotID 
                            AND certificationPosition = 'AVO'
                            AND certification = 'MC')
                THEN 'X'
            ELSE ''
         END) MC,

        (CASE
            WHEN EXISTS (SELECT 1 
                         FROM PilotGFRCertification 
                         WHERE pilotID = P1.pilotID 
                            AND certificationPosition = 'AVO'
                            AND certification = 'IO')
                THEN 'X'
            ELSE ''
         END) [IO],

        (CASE
            WHEN EXISTS (SELECT 1 
                         FROM PilotGFRCertification 
                         WHERE pilotID = P1.pilotID 
                            AND certificationPosition = 'AVO'
                            AND certification = 'SO')
                THEN 'X'
            ELSE ''
         END) SO,

         ISNULL((SELECT SUM(P3.flightHours) MCTotal
          FROM PilotLog P3
          WHERE P3.pilotID = P1.pilotID
            AND (flightDate <= (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID))
            AND topLevelPosition = 'AVO'
            AND dutyStation = 'MC'
         ), 0) MCTotal,

         ISNULL((SELECT SUM(P3.flightHours) AVOTotal
          FROM PilotLog P3
          WHERE P3.pilotID = P1.pilotID
            AND (flightDate <= (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID))
            AND topLevelPosition = 'AVO'
            AND dutyStation <> 'MC'
         ), 0) AVOTotal,

         (SELECT DATEADD(day, 60, (SELECT TOP 1 flightDate 
                                    FROM PilotLog P3
                                    WHERE P3.flightDate < (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)
                                        AND P3.topLevelPosition = 'AVO'
                                        AND P3.dutyStation = 'MC'
                                    ORDER BY P3.flightDate DESC))

         ) currency60Day,
         (  
            SELECT COUNT(*) 
            FROM PilotLog P4 
            WHERE P4.pilotID = P1.pilotID  
                AND topLevelPosition = 'AVO'
                AND sortieGained = 'True'
                AND (P4.flightDate BETWEEN (CASE     
                                           WHEN (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID) > (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))))   )), DATEADD(m,7,(DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))))   )))    
                                                THEN (DATEADD(yyyy, 1, (DATEADD(dd,-(DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID)))))-1),DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID)))))) ))    
                                           WHEN (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID) > (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))))       
                                                THEN (DATEADD(dd,-(DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID)))))-1),DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))))        
                                           ELSE (DATEADD(dd,-(DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID)))))-1),DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))))    
                                        End) 
                                        AND 
                                        ((SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)))) semiSorties,
        (  
            SELECT SUM(P4.flightHours)
            FROM PilotLog P4 
            WHERE P4.pilotID = P1.pilotID  
                AND topLevelPosition = 'AVO'
                AND sortieGained = 'True'
                AND (P4.flightDate BETWEEN (CASE     
                                           WHEN (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID) > (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))))   )), DATEADD(m,7,(DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))))   )))    
                                                THEN (DATEADD(yyyy, 1, (DATEADD(dd,-(DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID)))))-1),DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID)))))) ))    
                                           WHEN (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID) > (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))))       
                                                THEN (DATEADD(dd,-(DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID)))))-1),DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))))        
                                           ELSE (DATEADD(dd,-(DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID)))))-1),DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), (SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))))    
                                        End) 
                                        AND 
                                        ((SELECT MAX(P5.flightDate) FROM PilotLog P5 WHERE pilotID = P1.pilotID)))) semiSortieHours,

        (CASE     
           WHEN @flightDateOrNow > (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))))   )), DATEADD(m,7,(DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))))   )))    
                THEN (DATEADD(yyyy, 1, (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))))   ))    
           WHEN @flightDateOrNow > (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))))        
                THEN (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))), DATEADD(m,13,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))))      
           ELSE (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))), DATEADD(m,7,(DATEADD(yyyy, DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), @flightDateOrNow) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))))))      
        End) semiEnd,


        (CASE   
            WHEN @flightDateOrNow > (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, (DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), @flightDateOrNow)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))) )), DATEADD(m,13,(DATEADD(yyyy, (DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), @flightDateOrNow)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))) ))) THEN (DATEADD(yyyy, 1, (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, (DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), @flightDateOrNow)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))) )), DATEADD(m,13,(DATEADD(yyyy, (DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), @flightDateOrNow)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))) )))))  
            ELSE (DATEADD(dd, -DAY(DATEADD(m,1,(DATEADD(yyyy, (DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), @flightDateOrNow)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))) )), DATEADD(m,13,(DATEADD(yyyy, (DATEDIFF(yy, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID), @flightDateOrNow)) - 1, (SELECT birthDate FROM Pilot WHERE pilotID = P1.pilotID))) )))  
        END) annualEnd



FROM PilotLog P1
FULL JOIN Pilot BasicInfo
    ON P1.pilotID = BasicInfo.pilotID

WHERE 
    BasicInfo.location = 'DPG'

Now for the schema (in process of uploading them, here are a couple tables so far)

Pilot
Pilot Table

Pilot Log
enter image description here

Pilot Exam
enter image description here

PilotGFRCertification
enter image description here

PilotMedical
enter image description here

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-08T19:35:57+00:00Added an answer on June 8, 2026 at 7:35 pm

    You could do something like this:

    • define a table variable to hold your pilot ID’s you want to deal with

      DECLARE @PilotIDs TABLE (PilotID INT)
      
      INSERT INTO @PilotIDs 
         SELECT P7.pilotID 
         FROM Pilot P7
         WHERE location = 'DPG';
      
    • in the beginning (in the list of columns to be selected), you have this condition a few times:

      WHERE pilotID = @pilotID  
      

      replace that with:

      WHERE pilotID = P1.PilotID
      
    • leave the rest of your query alone – at the very end you have a few conditions like

      WHERE P1.pilotID = @pilotID 
      

      change those to be:

      WHERE P1.pilotID IN (SELECT PilotID FROM @PilotIDs)
      

    And that should basically take care of it – I hope! This is a really big huge ugly monster of a query… I hope that doesn’t break anything somewhere in the middle of QueryZilla ……

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Have data that has this kind of structure. Will be in ascending order by
Have a query that should hopefully be nice and simple to answer. I have
So I have a SQL Query as Follows SELECT P.Date, P.CategoryName, P.ProductName, SUM(Quantity) Quantity,
Have an app that can use tts to read text messages. It can also
I have a pretty monstrous Java app in development here. As of now, it's
Ok, so i have one really monstrous MySQL table (900k records, 180 MB total),
Have I in some way delete this Task or it is self-destroyed? Task.Factory.StartNew(() =>
Have a simple form that has a PictureBox in one location. I want to
Have two tables say ABC and XYZ and contain one column which data will
I have a very complicated mathematica expression that I'd like to simplify by using

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.