• well i got it even a better result

    ;WITH Users AS(

    SELECT 'D' as UserType,ROW_NUMBER() OVER ( PARTITION BY d.Projectid ORDER BY d.Developerid) AS Rid, d.Developerid AS USerid,d.Projectid FROM @Developer d

    UNION ALL

    SELECT 'M' as UserType,ROW_NUMBER() OVER ( PARTITION BY d.Projectid ORDER BY d.Managerid), d.Managerid,d.Projectid FROM @Manager d

    )

    SELECT CASE WHEN u.Rid =1 THEN p.ProjectName ELSE NULL END AS Pname, Min(CASE WHEN u.Usertype='M' THEN usr.UserName ELSE NULL END) AS Manager,

    Min(CASE WHEN u.Usertype='D' THEN usr.UserName ELSE NULL END) AS Developer

    FROM @project p

    INNER JOIN Users U ON U.Projectid = p.Projectid

    INNER JOIN @User Usr ON u.userid = usr.Userid

    GROUP BY p.ProjectName, u.Rid

    ORDER BY p.ProjectName DESC

    Every rule in a world of bits and bytes, can be bend or eventually be broken
    MyBlog About Common dialog control
    A Visualizer for viewing SqlCommand object script [/url]