1

私は2つのテーブルを持っています:

表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 に答える