2011-02-01 9 views
-4

各プロジェクトにはいくつかのロールがあり、マネージャーもその1つです。マネージャー名でプロジェクトをフェッチする必要があります。プロジェクトの詳細を入力したTempテーブルを作成しました。マネージャー名を更新しようとしています。試みたが、運別のテーブルからテーブルを更新する

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] ') –

答えて

2

あなたのスクリプトが正しいようだ、WHERE句の唯一の条件は、おそらく冗長である:

pr.ProjectId in (Select Projectid from #ProjectTemp) 

しかし、それが結果に影響を与えてはならない、私は理解しています。

roleidの前にテーブルエイリアスはありません。この列を持つテーブルはどれですか?複数のスクリプトがある場合、適切なエイリアスを指定するまでスクリプトは実行されません。

さらに詳しい情報を入力して、あなたの「不運」についてもっと詳しく説明してください。

0

あなたはUPDATEから選択する必要がありますテーブル:

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 
関連する問題