Мария обновилась от союза - или предложение - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть Maria DB, и я пытаюсь обновить таблицу из двух других таблиц.Архивная таблица - данные с отметкой времени до 00 UTC прошлой ночью.Текущий - данные с отметкой времени от 00 до настоящего времени.Я хочу скопировать результаты из обеих таблиц в столбец сводной таблицы.

Archive Table 
time|result
1   A
2   B
3   C
4   D
5   E

Current table:
time|result
6   1
7   2
8   3
9   4
10  5

Summary Table:
time|result
1   A   
2   B
3   C
4   D
5   E
6   1
7   2
8   3
9   4
10  5

Мне удалось выполнить обновление на основе одного INNER JOIN между сводной таблицей и архивом или текущей таблицей.независимо, но я не смог выяснить, как его объединить.

Поскольку архив и текущая идентичны и не пересекаются, кажется, что я должен объединить архив и текущую, а затем обновить сводкуТаблица?Я также попытался выполнить два левых внешних соединения и отфильтровать NULL, но я все еще что-то упускаю.

Это то, что я должен использовать подзапрос?

Я совершенно новичок в этом и мне нужно пройти только пару запросов для проекта.Я надеюсь, что кто-то может помочь направить меня в правильном направлении.

Спасибо за любой совет

1 Ответ

0 голосов
/ 20 сентября 2018

Я не уверен из вашего вопроса, пуста ли ваша таблица Summary или нет.

Если она пуста и вам нужно ее заполнить, тогда подойдет UNION ALL, которая не удаляетсядублирует и экономит время (в отличие от UNION, который под колпаком сортирует записи, а затем удаляет дубликаты):

insert into summary_table (time, result)
select time, result from archive_table
union all
select time, result from current_table
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...