положить результат запроса mySQL в другую таблицу - PullRequest
0 голосов
/ 02 мая 2020

Что мне нужно сделать sh:

В таблице 1 (table_original) мне нужно взять последнюю запись в последней строке, взять каждый столбец и обработать SUM для каждого столбца.

Как только эта сумма выполнена, результат для каждого столбца затем помещается в другую таблицу (table_result) под тем же заголовком столбца с добавлением avg в конце имени.

Я могу взять столбцы и заполнить сумму по последней записи в базе данных. Получив результат, я не могу затем отправить его в другую таблицу для хранения, все в рамках того же сценария. ,

Результат должен перезаписать существующую сумму в столбце во второй таблице (результат). Вот что я попробовал.

INSERT INTO table_result(columnoneavg, columntwoavg, columnteavg)
SELECT 
columnone,
SUM(columnone / 147707 * 100000) columnoneavg,
columntwo,
SUM(columntwo / 56932* 100000) columntwoavg,
columnthree,
SUM(columnthree / 542868 * 100000) columnthreeavg
FROM
table_original
GROUP BY columnone
ORDER BY columnoneavg DESC

Вышеприведенное даст мне правильный результат. Теперь моя проблема в том, как я могу затем автоматически поместить результат для каждого столбца во вторую таблицу, которая будет сохранена, также результат должен переопределить существующие данные для этот столбец. Я получаю сообщение об ошибке. INSERT недопустим в этой позиции, но не могу понять, как это сделать, и я не могу найти учебники о том, как это можно сделать.

1 Ответ

0 голосов
/ 03 мая 2020

Спасибо за помощь. Я могу выполнить запрос и поместить в новую таблицу, используя этот запрос

INSERT INTO `table_two` ( `sales1`, `sales2`, `sales3`) 
SELECT sum(sales1 / 56932 * 100000) sales1,sum(sales2 / 76176 * 100000) sales2,sum(sales3 / 118817 * 100000) sales3
FROM `table_one` ORDER BY id DESC LIMIT 1;

Однако ORDER BY id DES C LIMIT 1 не принимает только последнюю запись из table_one, он принимает все данные из этой таблицы, поэтому на этот вопрос сейчас.

Еще раз спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...