我有两个表,A,B.A有两列A1和A2.B有两列B1和B2.在我的情况下,A2和B2中的某些值是相同的,对于这种情况,我想更新A1 = B1.所以当A2 = B2时,A1应取B1的值.我编写了以下查询,但它使表A中的所有值为NULL.任何人都可以帮我修复此问题吗?
Update A
SET A.A1 = (Select B1 from B Where A.A2 = B.B2)
Run Code Online (Sandbox Code Playgroud)
您可以使用a INNER JOIN来标识应更新的记录:
UPDATE A
SET A.A1 = B.B1
FROM A
INNER JOIN B
ON A.A2 = B.B2
Run Code Online (Sandbox Code Playgroud)
从逻辑上讲,这种方法的好处在于,唯一能够更新的记录是那些能够幸存下来的记录INNER JOIN.
| 归档时间: |
|
| 查看次数: |
5297 次 |
| 最近记录: |