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]