SELECT
p.ProjectName as PName,
man.UserName AS Manager,
dev.UserName AS Developer
FROM @project p
CROSS APPLY (
SELECT STUFF( (
SELECT ', ' + man.UserName
FROM @Manager m
INNER JOIN @User man
ON m.Managerid = man.Userid
WHERE m.Projectid = p.Projectid
ORDER BY man.Userid
FOR XML PATH(''), TYPE).value('.', 'varchar(8000)')
,1,1,'')
) man (UserName)
INNER JOIN @Developer d
ON d.Projectid = p.Projectid
INNER JOIN @User dev
ON d.Developerid = dev.Userid
For fast, accurate and documented assistance in answering your questions, please read this article.
Understanding and using APPLY, (I) and (II) Paul White
Hidden RBAR: Triangular Joins / The "Numbers" or "Tally" Table: What it is and how it replaces a loop Jeff Moden