1

我有两张桌子:

表格1

| ColumnA  | ColumnB  |
-----------------------
| 123      | 1        |

表2

| ColumnA  | ColumnC  |
-----------------------
| 123      | 20       |

我更改了表 2 以添加一个新列,所以它看起来像这样

新表2

| ColumnA  | ColumnC  | ColumnB  |
----------------------------------
| 123      | 20       | NULL     |

现在,我想选择的值TABLE1.Column B并将其插入TABLE2.Column B

所以我写了这个查询:

INSERT INTO TABLE2 (ColumnB)
SELECT t1.ColumnB
FROM TABLE1 AS t1
INNER JOIN
TABLE2 AS t2
ON t1.ColumnA = t2.ColumnA;

但这似乎没有奏效。我错过了什么吗?

4

2 回答 2

5

您需要使用 UPDATE 语句来更新表。INSERT 将添加新行。

UPDATE Table2
JOIN Table1
ON
Table2.columnA = Table1.ColumnA
SET 
Table2.ColumnB = Table1.ColumnB
WHERE
Table2.ColumnB IS NULL
于 2013-03-08T20:17:38.180 回答
-2

您似乎不想插入。看来您想更新 table2 中已有的行。您可以使用:

update table2 set ColumbB=(select ColumnB from table1 where table1.ColumnA=table2.ColumnA)
于 2013-03-08T20:21:11.187 回答