У меня есть 2 стола. Первый из них обновляется ежедневно. (В этой таблице содержится более 10 столбцов, но 2 из них релевантны). Я бы хотел получать ежедневную статистику по vid (который является уникальным идентификатором) и популяцией. Новые идентификаторы VID могут появляться и исчезать каждый день. Например:MySQL слияние/объединение?
первый день:
vid population
123 456
124 567
345 1024
второй день:
vid population
123 470
124 520
344 100
Вторая таблица будет статистика, и я хотел бы следующий результат:
|--------------------1st day data
| |----------- 2nd day data
vid stat0819 stat0820
123 456 470
124 567 520
344 0 100
345 1024 0
Возможно ли это с одним SQL-запросом? Я думаю, что UNION является ключевым, но я не могу понять, как это сделать.
В какой таблице будут данные 1-го дня на 2-й день? Не сохраняя данные 1-го дня где-то, я не вижу, как будет работать Союз или любой запрос. Вам нужно как-то архивировать историю (например, добавить триггер и другую таблицу, которая содержит все данные, не зависящие от дня, а затем запросить его). – xQbert
вторая таблица хранит ее после обновления первой таблицы. В двух словах я хотел бы сохранить дневные значения во второй таблице. – smok3
Чтобы достичь этого, вы должны динамически добавлять столбцы во вторую таблицу. в какой-то момент вы достигнете максимальных столбцов, разрешенных базой данных. Я считаю, что это [4096] (https://dev.mysql.com/doc/refman/5.0/en/column-count-limit.html), что тогда? Возможно, вам лучше использовать триггер и иметь 3 столбца во 2-й таблице ... VID, население и «Дата», вы могли бы затем развернуть данные или обобщить результаты с помощью представлений и т. Д., Имея в виду, что вы все равно не можете превышать Максимальные столбцы разрешены в представлении. – xQbert