サブクエリにも存在するテーブルを更新するにはどうすればよいですか?私は2つの段階でそれをしなければならないのですか? (一時テーブルを作成する - 選択したデータを入れてから最終テーブルを更新する)結合で選択から更新する方法
各CTNのネットワークのラベルでinvoiceLineテーブルを更新しようとしています。
最終的な結果は次のようになります。
invoiceLine
ctn network 1234 network1 2345 network2 3456 network1
私は以下の表を持っている:
invoiceLine
ctn network 1234 null 2345 null 3456 null
ターミナル
ctn network 1234 1 2345 2 3456 1
ネットワーク
id label 1 network1 2 network2
私は選択を実行することができますが、私は参加して更新するかどうかはわかりません。
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
しかしMySQL t
エラーコードがhrows:1093あなたがのFROM句
可能な二重に更新するために、ターゲットテーブル 'invoiceLine' を指定することはできません[どのようにUPDATEクエリでJOINを使用します?](http://stackoverflow.com/questions/15209414/how-to-use-join-in-update-query) –