Я пытаюсь сделать выбор вставки, но для некоторых вычислений требуются некоторые псевдонимы, но для моей вставки они не нужны. Мне просто нужны field0, total_sum, hard_coded_val, но полагаться на другие для вычислений.
есть ли способ игнорировать другие значения или указать VALUES() в вставке SELECT?
INSERT INTO table(field0,total_sum,hard_coded_val)
SELECT s.*, sum1+sum2 AS total_sum, 'hard_coded_val' FROM
(SELECT t.*, (fielda+fieldb)*2 AS sum1, (fieldc+fieldd)/4 AS sum2 from
(SELECT field0,
sum(IF(field1 = 1, totalcount,0)) AS fielda,
sum(IF(field1 = 2, totalcount,0)) AS fieldb,
sum(IF(field1 = 3, totalcount,0)) AS fieldc,
sum(IF(field1 = 4,totalcount,0)) AS fieldd
from source_table GROUP BY field0)
t ORDER BY sum1 DESC)
s ORDER BY total_sum DESC
Вам просто нужно ограничить количество столбцов, которые вы возвращаете. *
будет возвращать все столбцы для связанной с ним таблицы.
INSERT INTO table(field0,total_sum,hard_coded_val)
SELECT s.field0, sum1+sum2 AS total_sum, 'hard_coded_val' FROM
...
s.*
s.field0