Você não quer
fylker no UPDATE demonstração. Você também deve usar um join adequado . Então a primeira reescrita é: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
);
Se assumirmos uma única correspondência em
fylker , então isso é bom. Se houver várias correspondências, você precisará escolher uma. Um método simples é: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
);
Observação:isso atualizará todas as empresas que tiverem um "kommuner" correspondente. Se não houver "fylker" correspondente, o valor será definido como
NULL . Acredito que esta seja a intenção da sua pergunta. Além disso, os aliases de tabela facilitam a escrita e a leitura da consulta.