Sql server 如何在SQL Server中不循环地更新每个记录

Sql server 如何在SQL Server中不循环地更新每个记录,sql-server,Sql Server,我有一个表,包含如下所示的数据,称为表a +++++++++++++++++++++++++++++++++++++++++++++ PrimaryID | Col2 | SecondaryID +++++++++++++++++++++++++++++++++++++++++++++ 1 | Description 1 | 0 2 | Description 2 | 0 3 | Description 3 | 0 4

我有一个表,包含如下所示的数据,称为表a

+++++++++++++++++++++++++++++++++++++++++++++ PrimaryID | Col2 | SecondaryID +++++++++++++++++++++++++++++++++++++++++++++ 1 | Description 1 | 0 2 | Description 2 | 0 3 | Description 3 | 0 4 | Description 4 | 0 . | ... | . . | . +++++++++++++++++++++++++++++++++++++++++++++ PrimaryID | Col2 | SecondaryID +++++++++++++++++++++++++++++++++++++++++++++ 1 |说明1 | 0 2 |说明2 | 0 3 |说明3 | 0 4 |说明4 | 0 . | ... | . . | . 请参见上面的SecondaryID。其初始值为零值

我还有一张桌子,它叫桌子B,在下面

+++++++++++++++++++++++++++++++++++++++++++++ PrimaryID | Col2 | ForeignKeyID +++++++++++++++++++++++++++++++++++++++++++++ 1 | Description 1 | 123 2 | Description 2 | 320 3 | Description 3 | 111 4 | Description 4 | 999 . | ... | . . | . +++++++++++++++++++++++++++++++++++++++++++++ PrimaryID | Col2 | ForeignKeyID +++++++++++++++++++++++++++++++++++++++++++++ 1 |说明1 | 123 2 |说明2 | 320 3 |说明3 | 111 4 |说明4 | 999 . | ... | . . | . 我在SQL Server中遇到问题, 对于表A的PrimaryID中的每一行,如何使用表B上的ForeignKeyID值更新表A上的SecondaryID列等于表B的PrimaryID。 但是,我不想使用循环游标或其他方法来解决这个问题

有简单的方法吗


我需要加急,并在advanced中感谢您。

是的,您可以在更新操作中加入。详情如下:

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

是的,您可以在更新操作中进行连接。详情如下:

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

是的,有办法。你试过什么?(您知道可以在SQL Server的更新中加入表吗?)?一点也不?是否有语法错误?可能是重复的是,有一种方法。你试过什么?(您知道可以在SQL Server的更新中加入表吗?)?一点也不?是否存在语法错误?可能与的重复