• With the help of Eirikur Eiriksson's code.You acn try this.

    ;WITH test

    AS

    (SELECT POLICY_DETAILS_ID,HISTORY_ID,CODE_ID,

    ROW_NUMBER() OVER(PARTITION BY POLICY_DETAILS_ID,HISTORY_ID ORDER BY code_id) AS rn

    FROM @POLHIST)

    SELECT POLICY_DETAILS_ID,HISTORY_ID,

    MAX(CASE WHEN rn = 1 THEN code_id END) AS Code1,

    MAX(CASE WHEN rn = 2 THEN code_id END) as Code2,

    MAX(CASE WHEN rn = 3 THEN code_id END) as Code3,

    MAX(CASE WHEN rn = 4 THEN code_id END ) as Code4

    FROM test

    GROUP BY POLICY_DETAILS_ID,HISTORY_ID

    --rhythmk
    ------------------------------------------------------------------
    To post your question use below link

    https://www.sqlservercentral.com/articles/forum-etiquette-how-to-post-datacode-on-a-forum-to-get-the-best-help
    🙂