• As Sean said, we need to know more about your data before we can give you a good answer. But are you maybe looking for something along these lines?

    WITH

    CTE AS

    (

    SELECT cq.ConditionalQuestionID

    FROM ConditionalQuestions AS cq

    INNER JOIN QuestionAnswers AS qa ON

    cq.QuestionID = qa.QuestionID

    WHERE

    cq.QuestionID = 5 AND

    qa.IsConditional = 'Y'

    ),

    CTE2 AS

    (

    SELECT

    [Type] = 'Q',

    [Value] = q.Question,

    [ID] = qa.QuestionID

    FROM QuestionAnswers AS qa

    INNER JOIN Questions AS q ON q.QuestionID = qa.QuestionID

    INNER JOIN CTE AS c ON c.ConditionalQuestionID = qa.QuestionID

    UNION ALL

    SELECT

    [Type] = 'A',

    [Value] = a.Answer,

    [ID] = qa.QuestionID

    FROM QuestionAnswers AS qa

    INNER JOIN Answers AS a ON a.AnswerID = qa.AnswerID

    INNER JOIN CTE AS c ON c.ConditionalQuestionID = qa.QuestionID

    )

    SELECT

    [Type],

    [Value]

    FROM CTE2

    ORDER BY

    [ID],

    [Type] DESC

    ;


    "If I had been drinking out of that toilet, I might have been killed." -Ace Ventura