У меня есть следующие три таблицы ...три таблицы с внутренним соединением
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 в table2 и я мог бы использовать следующий простой запрос MySQL, чтобы сделать это ...
INSERT INTO table2 SELECT * FROM table1
Проблема в том, что у меня нет того же идентификатора, ... две таблицы подключены к третьей таблице table3. , в котором IDA содержит первичный ключ таблицы1, а IDB содержит первичный ключ таблицы2,
так, например, если я хочу скопировать из таблицы1 IDA (111) в таблицу2, как это сделать? и если IDB существует как обновить на дубликат ключа ...
У меня есть следующий запрос, но не работает ...
INSERT INTO table2 SELECT * FROM table1
WHERE IDA IN (SELECT table1 b
INNER JOIN table3 c ON c.IDA = b.IDA
INNER JOIN table2 a ON a.IDB = c.IDB)
WHERE b.IDA=111
Но я хочу, если я получаю обобщают ответ ... Благодаря
этот пост это поможет вам http://dba.stackexchange.com/questions/10472/join-three-tables – krishna