• It will probably be more efficient to PIVOT tblCommon_tblSkills.

    Something like:

    ;WITH Skills

    AS

    (

    SELECT Common_ID, [1],[2],[3],[4],[5],[6],[7]

    FROM

    (

    SELECT Common_ID, Skill_ID

    FROM tblCommon_tblSkills

    ) P

    PIVOT

    (

    COUNT(Skill_ID)

    FOR Skill_ID IN ([1],[2],[3],[4],[5],[6],[7])

    ) A

    )

    SELECT C.*

    ,CASE WHEN S.[1] = 1 THEN 'Yes' ELSE 'No' END AS MSOffice

    ,CASE WHEN S.[2] = 1 THEN 'Yes' ELSE 'No' END AS ScarePoint

    ,CASE WHEN S.[3] = 1 THEN 'Yes' ELSE 'No' END AS [ASP.Net]

    ,CASE WHEN S.[4] = 1 THEN 'Yes' ELSE 'No' END AS [C#]

    ,CASE WHEN S.[5] = 1 THEN 'Yes' ELSE 'No' END AS J2EE

    ,CASE WHEN S.[6] = 1 THEN 'Yes' ELSE 'No' END AS SQLServer

    ,CASE WHEN S.[7] = 1 THEN 'Yes' ELSE 'No' END AS Oracle

    FROM tblCommon C

    JOIN Skills S

    ON C.[ID] = S.Common_ID