2011-03-09 14 views
1

私はFKColumnIDSQL Server 2008の:更新クエリ

TableAを持って、私はまたColumnIDTableBColumnName

にはどうすればtableB.ColumnNameと同じ値を持つようにTableA.FKColumnIDを更新することができますか?

Update TableA 
Set TableA.ColumnName = TableB.ColumnName 
+0

を試すことができますか?あなたはTableAの1つの列だけを教えてくれましたか?おそらく、あなたは参加する必要があり、更新するには別のものが必要ですか? –

+0

A.FKColumnIDとB.ColumnIDは同じです – William

+0

しかし、 'SET TableA.FKColumnID = TableB.ColumnName'を実行すると、それ以上はありません。 (編集:@ウィリアム - 質問を編集しましたか?) –

答えて

5

次の2つのテーブルが関連しているどのようにこの

UPDATE TableA 
SET ColumnName = TableB.ColumnName 
FROM TableA 
JOIN TableB on TableA.FKColumnID = TableB.ColumnID 
WHERE < any additional criteria > 
+0

あなたは_SET TableA.ColumnName = TableB.ColumnName_ – William

+0

@ウィリアム、 はい。 UPDATE句は、SET句が適用されるテーブルを示すため、 "TableA"要素は不要です。 – bobs

+0

また、すべての行を取得するために内部結合を行う必要はありませんか? – William