2011-02-01 125 views
-4

每个项目我有一些角色和经理是其中之一。我需要获取项目与他们的managername.I创建临时表填充项目Details.Now我试图更新经理名称。我尝试,但没有运气从另一个表更新表

Update #ProjectTemp 
SET ManagerName= pu.FirstName +' '+pu.LastName 
FROM Project_Role pr 
Inner join PMuser pu on pr.Userid = pu.Userid 
where pr.ProjectId in (Select Projectid from #ProjectTemp)and roleid = 11 and #ProjectTemp.projectid = pr.projectid 
+1

什么是你的问题? (除了`user`是关键字并且必须被引用的事实:`[user]`) – 2011-02-01 06:09:43

回答

2

你的脚本似乎是正确的,只有一个WHERE子句中的条件可能是多余的:

pr.ProjectId in (Select Projectid from #ProjectTemp) 

但它不应该影响到结果,我明白了。

另外在roleid之前没有表别名。这一列有哪些表格?如果它们不止一个,那么在指定正确的别名之前,脚本不会运行。

请添加更多细节并详细说明您的“不幸”。

0

表更新必须从选择:

UPDATE #ProjectTemp 
SET ManagerName= pu.FirstName +' '+pu.LastName 
FROM #ProjectTemp 
INNER JOIN Project_Role pr ON pr.ProjectId = #ProjectTemp.ProjectId 
INNER JOIN PMuser pu ON pr.Userid = pu.Userid 
WHERE roleid = 11