У меня есть несколько таблиц со столбцами времени unix и time mez для идентификации. Они будут постоянно заполняться новыми данными (каждые 60 секунд, если быть точным). Я создал таблицу, назовем ее new_table из данных этих таблиц. Теперь я хочу обновить этот файл new_table. Но только с данными других таблиц, которые новее последней записи new_table.
Поэтому мне не нужно перезаписывать new_table
или снова собирать все данные, начиная с строки 1, так как предполагается, что они будут работать годами.
Я попробовал некоторые INSERT или UPDATE, но я не могу понять, как определить условие SELECT и WHERE, при котором данные должны быть обновлены. Я очень неопытен в SQL. Заранее спасибо!
См. следующий код о том, как я создал new_table:
USE database; /* select database */
CREATE TABLE new_table
AS
SELECT
table1_1min.time_unix, table1_1min.time_mez,
/* add power consumption in kW rounded to two decimal places */
ROUND(table1.P + table2.P + table3.P, 2) AS total
FROM
table1_1min, table2_1min, table3_1min
/* make sure same time stamp is used in every row*/
WHERE
table1_1min.time_unix = table2_1min.time_unix
AND table1_1min.time_unix = table3_1min.time_unix
ORDER BY
table1_1min.time_unix;
table3_1min.time_unix
? - person Islingre   schedule 25.09.2019JOIN
в ANSI-92 b> Стандарт SQL (более 25 лет назад), и его использование не рекомендуется - person marc_s   schedule 27.09.2019