我有2张桌子。一个带有“真实”数据,第二个带有两列带有相关值。例如:
表1:
ORG NUM INVOICE
111 AE539 8532
222 AE232 129
333 BF952 1576
111 BF332 395
333 AE416 2685
表2:
NUM REAL_N
AE539 00705
AE232 00703
BF952 00701
BF332 00712
AE416 00729
我需要的是在表1中将NUM值替换为表2中对应的REAL_N。我虽然做了一个CASE,但由于表2包含超过1500行,并且每天都会更新新行,它对我无效。
我需要一些东西,对于每个Table 1 NUM值,检查表2以搜索该新值。所以这个例子的结果是:
表1:
ORG NUM INVOICE
111 00705 8532
222 00703 129
333 00701 1576
111 00712 395
333 00729 2685
我该怎么做?
答案 0 :(得分:1)
您需要执行INNER JOIN
以匹配行,然后执行UPDATE
:
UPDATE [TABLE 1]
SET [NUM] = B.[REAL_N]
FROM [TABLE 1] A
INNER JOIN [TABLE 2] B
ON A.[NUM] = B.[NUM];
答案 1 :(得分:0)
这实际上可以满足您的需求。
UPDATE A SET A.NUM = B.REAL_N
FROM [TABLE 1] A INNER JOIN [TABLE 2] B
ON A.NUM = B.NUM