• Ohk Thanks for acknowledge this,,, i write this to solve in SQL 2000 and only for that same data i generate row numbers in this so i write this if you some solution which works on all the data then what i write..

    -- Code for Challenge #1

    SELECT T1.code, T1.aname, D.bname, D.cname

    FROM TableA T1

    LEFT JOIN

    (

    SELECT COALESCE(D2.code, D3.code) AS code

    ,D2.bname

    ,D3.cname

    FROM

    (

    SELECT ROW_NUMBER() OVER (PARTITION BY T2.code ORDER BY T2.bname) AS RowID

    ,T2.*

    FROM TableB T2

    ) D2

    FULL JOIN

    (

    SELECT ROW_NUMBER() OVER (PARTITION BY T3.code ORDER BY T3.cname) AS RowID

    ,T3.*

    FROM TableC T3

    ) D3

    ON D2.code = D3.code

    AND D2.RowId = D3.RowId

    ) D

    ON T1.code = D.code