私はここでこれと同様の質問をしました...
しかし、私の問題を解決するのに十分な答えが得られなかったので、もう一度質問することを余儀なくされています...
私は次のテーブルを持っています...
**
データで遊びたい人は誰でもここでテストして ください http://sqlfiddle.com/#!9/a0807
**
Table1
IDA colB colC
111 a w
222 b w
333 c s
444 b g
Table2
IDB colB colC
11 w f
12 w r
13 s g
Table3
IDA IDB
111 11
222 12
333 13
444 14
次のコードは、問題なく table1 から table にコピーまたは挿入しますが、間違った table2 IDB を使用します (table2 IDB 値は table3 への内部結合から取得する必要があるため)。
INSERT INTO table2 SELECT * FROM table1 WHERE IDA = 111
しかし、すべてを table1 から table2 にコピーしますが、これは間違っています...
だから、私がしたことは...次の内部結合です...しかし、機能していません..
INSERT INTO table2
(SELECT * FROM table1 b
LEFT JOIN table3 c ON c.IDA = b.IDA
LEFT JOIN table2 a ON a.IDB = c.IDB)
WHERE IDB = 111
それもうまくいかない……。
しかし、私が必要としているのはまさに...テーブル1からテーブルにコピーして、テーブル3を介して接続したいのですが、利用可能な行が更新されていない場合は挿入されます....
2回も質問して申し訳ありませんが、皆さんからアイデアをいただければ幸いです...
助けてください...事前に感謝します...
可能であれば処理するためにphpを使用している可能性があります...