Задать вопрос
@hrvasiliy

Как вставить несколько полей?

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

INSERT INTO `table1` (id, col2, col3)
SELECT id, 'some', 'some' FROM table2 WHERE col4 = 'somevalue' AND col5 = 'somevalue2'


А если делаю так:

INSERT INTO `table1` (id, col2, col3)
SELECT id, 'some', 'some' FROM table2 WHERE col4 = 'somevalue' AND col5 = 'somevalue2', 
SELECT id, 'some', 'some' FROM table2 WHERE col4 = 'somevalue3' AND col5 ='somevalue4'


Ничего не выходит. Не могу понять, как составить правильно данный тип запроса.
  • Вопрос задан
  • 258 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • Shultais Education
    Продвинутый SQL
    1 месяц
    Далее
  • Merion Academy
    Основы реляционных баз данных SQL
    1 месяц
    Далее
Решения вопроса 1
@dmitryKovalskiy
программист средней руки
Вашу задачу нужно разбить на 2 более простых.
1) сформировать select для вставки в вашу таблицу.
2) сделать insert с помощью полученной выборки.
Не усложняйте себе жизнь. Подумайте по каким признакам можно получить необходимую вам выборку. Если там совсем совсем случайный набор бессистемных данных - тогда делайте пару тысяч раз insert.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы