у меня есть временный стол, Temp_Table, и в зависимости от его двух полей мне нужно вставить строки в других таблицах, Table1 и Table2Вставка строк в зависимости от полей
Таковы условия для их достижения,
Если Temp_Table.Field1 = Table1.Field1 и Temp_Table.Field2> Table1.Field2 Затем переместите строку из таблицы 1 в таблицу2 и скопируйте строку из Temp_Table в таблицу1.
Если Temp_Table.Field1 = Table1.Field1 и Temp_Table.Field2 < Table1.Field2 Затем скопируйте строку из Temp_Table в Table2.
Если Temp_Table.Field1 не находит соответствия в таблице 1, скопируйте строку из Temp_Table в таблицу1.
Как и в случае с таблицами 1 и Table 2, выходное предложение бесполезно. Сам объект Temp_Table может иметь повторяющиеся значения для Field1, поэтому проверка должна выполняться для каждой строки.
Как я могу достичь этого только mySql?
Я попытаюсь показать некоторые примеры данных. Все таблицы не имеют автогенерированного идентификатора.
Table1:
Id Field1 Field2 Field3
0 1 30 Dec 2016 data1
Table2:
Id Field1 Field2 Field3
Temp_Table:
Id Field1 Field2 Field3
1 1 29 Dec 2016 data2
2 2 31 Dec 2016 data3
3 2 01 Jan 2017 data4
Результат таблицы: Table1:
Id Field1 Field2 Field3
0 1 30 Dec 2016 data1
3 2 01 Jan 2017 data4
Tabl2:
Id Field1 Field2 Field3
1 1 29 Dec 2016 data2
2 2 31 Dec 2016 data3
@GordonLinoff, спасибо, что напомнил. Я изменил теги соответственно. – Nets
Пожалуйста, покажите нам некоторые примеры данных и как должен выглядеть конечный результат. –
Вы попробовали простой INSERT/SELECT? Что-то вроде 'insert into выберите из