Anda tidak ingin fylker di UPDATE penyataan. Anda juga harus menggunakan join . yang tepat . Jadi penulisan ulang pertama adalah:
UPDATE companies c JOIN
kommuner k
ON c.forretningsadresse_kommune = k.kommuneNavn
SET c.forretningsadresse_fylke = (SELECT f.fylkeNavn
FROM fylker f
WHERE f.fylkeID = k.fylkeID
);
Jika kita mengasumsikan satu kecocokan di fylker , maka ini baik-baik saja. Jika ada beberapa kecocokan, maka Anda harus memilih salah satu. Cara sederhananya adalah:
UPDATE companies c JOIN
kommuner k
ON c.forretningsadresse_kommune = k.kommuneNavn
SET c.forretningsadresse_fylke = (SELECT f.fylkeNavn
FROM fylker f
WHERE f.fylkeID = k.fylkeID
LIMIT 1
);
Catatan:Ini akan memperbarui semua perusahaan yang memiliki "kommuner" yang cocok. Jika tidak ada "fylker" yang cocok, nilainya akan ditetapkan ke NULL . Saya yakin ini adalah maksud dari pertanyaan Anda.
Juga, alias tabel membuat kueri lebih mudah untuk ditulis dan dibaca.