Jak mogę zaktualizować tabelę, która jest również obecna w podzapytaniu? Czy muszę to zrobić w 2 etapach? (utwórz tabelę tymczasową - umieść w niej wybrane dane, a następnie zaktualizuj tabelę końcową).Jak zaktualizować z select przy użyciu opcji Dołącz
Próbuję zaktualizować tabelę invoiceLine z etykietą sieci dla każdego CTN.
Efektem końcowym będzie:
invoiceLine
ctn network 1234 network1 2345 network2 3456 network1
mam następujące tabele:
invoiceLine
ctn network 1234 null 2345 null 3456 null
zacisk
ctn network 1234 1 2345 2 3456 1
sieć
id label 1 network1 2 network2
mogę uruchomić select, ale nie jestem pewien, jak zaktualizować z złączenia:
update invoiceLine
inner join terminal on terminal.ctn = invoiceLine.ctn
set invoiceLine.network =
(
select network.label
from invoiceLine
inner join terminal on terminal.ctn = invoiceLine.ctn
inner join network on network.id = terminal.network
)
where invoiceLine.ctn = terminal.ctn
, ale MySQL t hrows kodeks
Błąd: 1093. Nie można określić tabelę docelową 'invoiceLine' dla aktualizacji z klauzulą
Możliwy duplikat [Jak korzystać przyłączyć zapytania UPDATE ?] (http://stackoverflow.com/questions/15209414/how-to-use-join-in-update-query) –