0

2 つのテーブルがあり、table1 の列を使用して table2 の列を更新する必要があります。table2.id2 は空で、table1.id を使用して入力する必要があります。table1.codeまた、これらのテーブル (および)で互いに一致させることができる 2 つの列があることも知っておく必要がありますtable2.code。これは私の SQL です。

UPDATE table2 SET table2.id2 = table1.id WHERE table2.code = table1.code;

このクエリは正しいですか? このエラーが発生していますが、それが存在すると確信していtable1.codeます。

[Err] 1054 - 'where 句' の列 'table1.code' が不明です

4

2 に答える 2

1

コードを使用して両方のテーブルを結合できると仮定します

UPDATE T2
  JOIN T1 ON T1.CODE = T2.CODE
SET
  T2.ID2 = T1.ID
WHERE
  T2.ID2 = '';
于 2012-08-09T15:35:17.880 に答える
0

そのようには機能しません。

これを取る:

UPDATE table2 SET id2 = (SELECT id from table1 WHERE code = 'somecode') WHERE code = 'somecode';
于 2012-08-09T14:56:13.580 に答える