• actually in our Db it is look like this, i change my code for a single project but actually it is for multiple project

    DECLARE @res AS TABLE (Id INT, PName VARCHAR(100),Manager VARCHAR(100), Developer VARCHAR(100))

    INSERT INTO @res (id,PName,Developer)

    SELECT ROW_NUMBER()OVER (order by dev.Userid) AS id,p.ProjectName AS PName ,dev.UserName AS Developer

    FROM @project p

    INNER JOIN @Developer d ON d.Projectid = p.Projectid

    INNER JOIN @User dev ON d.Developerid = dev.Userid

    SELECT r.PName,x.Manager,r.Developer FROM @res r Left JOIN

    (

    SELECT ROW_NUMBER()OVER (order by man.Userid) AS id,man.UserName AS Manager

    FROM @project p

    INNER JOIN @Manager m ON m.Projectid = p.Projectid

    INNER JOIN @User man ON m.Managerid = man.Userid

    )x ON x.id = r.Id

    i try to change this procedure to avoid that insert statement and an unwanted scan of project and User tables, any other idea, the result should not change, it look like as it is

    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]