1

テーブルがあり、含まれているデータを以下に示します。これはTABLE_Aと呼ばれます

+++++++++++++++++++++++++++++++++++++++++++++++
プライマリ ID | Col2 | セカンダリ ID
+++++++++++++++++++++++++++++++++++++++++++++++
1 | 説明 1 | 0
2 | 説明 2 | 0
3 | 説明 3 | 0
4 | 説明 4 | 0
. | | ... | .
. | |
.

上記のSecondaryIDを参照してください。初期値としてゼロ値があります

そして、私は別のテーブルを持っています.TABLE_Bと呼ばれています.

+++++++++++++++++++++++++++++++++++++++++++++++
プライマリ ID | Col2 | 外部キー ID
+++++++++++++++++++++++++++++++++++++++++++++++
1 | 説明 1 | 123
2 | 説明 2 | 320
3 | 説明 3 | 111
4 | 説明 4 | 999
. | | ... | .
. | |
.

SQL Server で問題が発生しました。TABLE_A の PrimaryID の各行に対して、TABLE_A のSecondaryID列を TABLE_BのForeignKeyID値で更新する方法は、TABLES_B の PrimaryID と同じです。しかし、LOOPING CURSORS などを使用してこの問題を解決したくありません。

簡単な方法はありますか??

至急お願いします。よろしくお願いします。

4

1 に答える 1

10

はい、UPDATE 操作内で結合を行うことができます。次のように:

UPDATE table_a SET SecondaryID = b.ForeignKeyID
FROM table_a a
    JOIN table_b b
    on a.PrimaryID = b.PrimaryID

http://sqlfiddle.com/#!3/fdcdb/6

于 2012-04-20T01:43:54.497 に答える