Запись в SQL таблицу сортированных данных?

Есть примерно такой код. Что здесь не так и почему я не могу записать название компании в другую таблицу?

INSERT INTO wpv4_wpdatatable_7 (Company_name)
SELECT
    submit_time,
    MAX(IF(field_name = 'Назва компанії:',     field_value, NULL)) AS Company_name,
    MAX(IF(field_name = "Ім'я:",    field_value, NULL)) AS User_Name,
    MAX(IF(field_name = 'Email',      field_value, NULL)) AS Email,
    MAX(IF(field_name = 'Номер телефона',      field_value, NULL)) AS Phone,
    MAX(IF(field_name = 'Відповідальний',      field_value, NULL)) AS Manager,
    MAX(IF(field_name = 'ЄДРПОУ',      field_value, NULL)) AS Code_Company,
    MAX(IF(field_name = 'ІПН (для платників ПДВ)',      field_value, NULL)) AS IPN,
    MAX(IF(field_name = 'Посада підписанта',      field_value, NULL)) AS Sign_Role,
    MAX(IF(field_name = 'П.І.Б. Підписанта (у родовому відмінку)',      field_value, NULL)) AS ПІБ Підписанта,
    MAX(IF(field_name = 'На підставі чого діє',      field_value, NULL)) AS Sign_LAW,
    MAX(IF(field_name = 'Місто',      field_value, NULL)) AS City,
    MAX(IF(field_name = 'Вулиця',      field_value, NULL)) AS Street,
    MAX(IF(field_name = 'Назва Банку',      field_value, NULL)) AS bank_name,
    MAX(IF(field_name = 'IBAN',      field_value, NULL)) AS Iban,
    MAX(IF(field_name = 'Нова Пошта №:',      field_value, NULL)) AS NP№,
    MAX(IF(field_name = 'Тел. отримувача',      field_value, NULL)) AS NP_Phone,
    MAX(IF(field_name = 'П.І.Б для сертифіката',      field_value, NULL)) AS NP_PIB

FROM
    wpv4_contactic_submits
GROUP BY
    submit_time

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


Ответы (1 шт):

Автор решения: Alex R.

При использовании оператора INSERT количество вставляемых колонок и значений для них должно быть одинаковым.

Вставляется только одна колонка INSERT INTO wpv4_wpdatatable_7 (Company_name), а в запросе их больше.

Попробуйте так:

INSERT INTO wpv4_wpdatatable_7 (Company_name)
SELECT
    MAX(IF(field_name = 'Назва компанії:',     field_value, NULL)) AS Company_name
FROM
    wpv4_contactic_submits
GROUP BY
    submit_time

Или допишите остальные имена колонок после Company_name.

→ Ссылка