• You had a good idea, but you missed the creation of the comma separated values. To learn how to do it you can read the following article. Creating a comma-separated list (SQL Spackle)[/url]

    Here's a code working with your sample data. Check how I included it in a way that anyone can copy it and execute it directly in SSMS without any modification. I strongly suggest that you do this on your next posts to get better and faster help.

    CREATE TABLE #Case( CaseID int, Name char(3))

    INSERT #Case VALUES

    (12341, 'XYZ'),

    (23451, 'ZZZ'),

    (90892, 'XXQ')

    CREATE TABLE #CaseCode( CaseID int, CaseCode char(3), TypeFlag char(1))

    INSERT #CaseCode VALUES

    (12341, '001', 'P'),

    (12341, '003', 'S'),

    (90892, '111', 'S'),

    (90892, '222', 'S'),

    (90892, '999', 'P');

    WITH CTE AS(

    SELECT c.CaseID,

    c.Name,

    cc.TypeFlag,

    Codes = STUFF((

    SELECT ',' + CaseCode

    FROM #CaseCode x

    WHERE x.CaseID = cc.CaseID

    AND x.TypeFlag = cc.TypeFlag

    ORDER BY CaseCode

    FOR XML PATH(''),

    TYPE).value('.','varchar(max)'),1,1,'')

    FROM #CaseCode cc

    RIGHT

    JOIN #Case c ON cc.CaseID = c.CaseID

    )

    SELECT CaseID,

    Name,

    MAX( CASE WHEN TypeFlag = 'P' THEN Codes END) AS PrimaryCodes,

    MAX( CASE WHEN TypeFlag = 'S' THEN Codes END) AS SecondaryCodes

    FROM CTE

    GROUP BY CaseID,

    Name

    DROP TABLE #CaseCode

    DROP TABLE #Case

    Luis C.
    General Disclaimer:
    Are you seriously taking the advice and code from someone from the internet without testing it? Do you at least understand it? Or can it easily kill your server?

    How to post data/code on a forum to get the best help: Option 1 / Option 2