вставить select игнорировать некоторые возвращаемые значения подзапроса

0

Я пытаюсь сделать выбор вставки, но для некоторых вычислений требуются некоторые псевдонимы, но для моей вставки они не нужны. Мне просто нужны 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
  • 1
    Заменить s.* s.field0
  • 0
    Бриллиант, пожалуйста, добавьте в качестве ответа
Теги:

1 ответ

1
Лучший ответ

Вам просто нужно ограничить количество столбцов, которые вы возвращаете. * будет возвращать все столбцы для связанной с ним таблицы.

INSERT INTO table(field0,total_sum,hard_coded_val) 
  SELECT s.field0, sum1+sum2 AS total_sum, 'hard_coded_val' FROM
...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню