既存のデータベースを正規化しています。現在、Table1にドメインとコンテナの2つの列があり、明確な組み合わせは限られています(現在、これら2つの組み合わせは約1000レコードから約30の組み合わせです)。新しいレコードがインストールされたときに自動生成される主キー(container_id)を使用して、すべての組み合わせを保持する新しいTable2を作成しました。Table1にcontainer_id列を追加し、Table1.container列に基づいて値を入力したいと思います。
この時点で、表2のすべてのコンテナー名は区別されますが、将来変更される可能性があるため、PKとして一意の番号が必要になります。
すなわち
UPDATE Table1
SET container_id = (SELECT Table2.container_id
FROM Table2
WHERE Table2.container = Table1.container)
WHERE EXISTS
( SELECT Table2.container_id
FROM Table2
WHERE Table2.container = Table1.container)
このクエリerror 1242: subquery returns more than one row.
は、完全に間違ったツリーを吠えていますか?Table2の重複値はゼロである必要があります。