通过计算来自另一个 table 的数据来更新列
Updating a column by counting data from another table
我有两个 table 比方说 A 和 B,我想通过将它们与 table A column2 进行比较来计算 table B 中 column2 的结果并更新它们table第1列。
我正在使用此处显示的脚本,但它需要很长时间,所以如果有人可以提供替代方案/更好更快,我将不胜感激option/script
UPDATE tableA
SET tableA.column1 = (SELECT COUNT(*)
FROM tableB
WHERE tableA.column2 = tableB.column2)
使用专有的 UPDATE ... FROM
执行可以不是嵌套循环的连接:
UPDATE tableA SET tableA.column1 = tbc.count
FROM (SELECT column2,
count(*) AS count
FROM tableB
GROUP BY column2) AS tbc
WHERE tableA.column2 = tbc.column2;
我有两个 table 比方说 A 和 B,我想通过将它们与 table A column2 进行比较来计算 table B 中 column2 的结果并更新它们table第1列。
我正在使用此处显示的脚本,但它需要很长时间,所以如果有人可以提供替代方案/更好更快,我将不胜感激option/script
UPDATE tableA
SET tableA.column1 = (SELECT COUNT(*)
FROM tableB
WHERE tableA.column2 = tableB.column2)
使用专有的 UPDATE ... FROM
执行可以不是嵌套循环的连接:
UPDATE tableA SET tableA.column1 = tbc.count
FROM (SELECT column2,
count(*) AS count
FROM tableB
GROUP BY column2) AS tbc
WHERE tableA.column2 = tbc.column2;