• SELECT

    e1.Place,

    e1.Objective,

    e1.[Year],

    e1.[Month],

    e1.Exam1,

    e2.Exam2,

    e3.Exam3

    FROM #tmpExam1 e1

    LEFT JOIN #tmpExam2 e2

    ON e2.Place = e1.Place

    AND e2.[Year] = e1.[Year]

    AND e2.Objective = e1.Objective

    AND e2.[Month] = e2.[Month]

    INNER JOIN #tmpExam3 e3

    ON e3.Place = e1.Place

    AND e3.Objective = e1.Objective

    AND e3.[Year] = e1.[Year]

    AND e3.[Month] = e2.[Month]

    --Group by E1.Place, E1.Objective,E1.Year,E1.Month,E1.Exam1, E2.Exam2,E3.Exam3

    ORDER BY

    e1.Place,

    e1.Objective,

    e1.[Year],

    e1.[Month],

    e1.Exam1,

    e2.Exam2,

    e3.Exam3

    “Write the query the simplest way. If through testing it becomes clear that the performance is inadequate, consider alternative query forms.” - Gail Shaw

    For fast, accurate and documented assistance in answering your questions, please read this article.
    Understanding and using APPLY, (I) and (II) Paul White
    Hidden RBAR: Triangular Joins / The "Numbers" or "Tally" Table: What it is and how it replaces a loop Jeff Moden