Я вставляю в TableA с помощью Select/Inner Join из TableB и TableC.Обновление таблицы после вставки записей с помощью Inner Join
Insert into TableA (C,S,M,C100)
SELECT C,S,M,group_concat(CID) FROM TableB
INNER JOIN TableC
ON TableB.CID= TableC.CID and P>=100 group by C,S,M
Теперь мне нужно обновить эти записи двумя способами. Один идентичен первому, но теперь я хочу, чтобы обновить другое поле с P < 100, по существу:
Insert into TableA (C,S,M,C0)
SELECT C,S,M,group_concat(CID) FROM TableB
INNER JOIN TableC
ON TableB.CID= TableC.CID and P<100 group by C,S,M
Только я не хочу новых записей Я хочу, чтобы обновить где TableA C, S, M матч
Второе, что я хочу сделать, это похоже, но включает в себя обновление из другой таблицы, но почти идентичным образом
Insert into TableA (C,S,M,C100)
SELECT C,S,M,group_concat(CID) FROM TableD
INNER JOIN TableE
ON TableD.CID= TableD.CID and P>=100 group by C,S,M
другими словами, я мог бы создать каждый проход в виде отдельных вставок, но будет в конечном итоге с дублирующие записи C, S, M.
Есть ли способ сделать проходы после первой вставки в качестве обновлений ИЛИ есть ли способ сделать их каждый как вставки, а затем объединить записи, где C, S, M идентичны?
Спасибо. Это может показаться глупым вопросом, но я не смог заставить его работать (новый для присоединения); предположим, что мне больше не нужно присоединяться к B к C, я просто хочу обновить TableA с помощью поля TableB, group_concat с теми же условиями и группой ON. Я пробовал и терпел неудачу, поэтому что-то об этом не имеет смысла для меня (пока), разъяснение о том, как обновить, будет оценено по достоинству. – user3649739
Без проблем @ user3649739. Если бы вы отправили свою попытку, я мог бы сказать вам, что вы поступили не так, так или иначе, я обновил ответ – sagi