Запись в 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.