Запрос с подзапросом insert / select - MySQL
Формулировка задачи:
прочитал в интернете про запрос с подзапросом вида INSERT...SELECT
пытаюсь сам смастерить, но не получается.
подскажите, где ошибка?
INSERT INTO client (`cl_id`, `cl_passport`, `cl_name`, `cl_surname`, `cl_mdname`, `cl_phone`, `cl_adress`) VALUES (12345, "Иван", "Петров", "Сергеевич", 5678, test1.id_test1) SELECT test1.id_test1 FROM test1 WHERE test1.t_country="Россия" AND test1.t_city="Тольятти" AND test1.t_street="Гая" AND test1.t_house="27" AND test1.t_entrance=2);
Решение задачи: «Запрос с подзапросом insert / select»
textual
Листинг программы
insert myTable (a, b, c, d) select 1, p, q, 3 from tab2;
Объяснение кода листинга программы
В представленном коде выполняется операция INSERT с использованием подзапроса SELECT. Список действий, которые выполняются в этом коде, можно представить следующим образом:
insert myTable (a, b, c, d)- это операция INSERT, которая добавляет новую запись в таблицуmyTable. Указанные поляa,b,cиdбудут заполнены значениями, возвращаемыми подзапросом SELECT.select 1, p, q, 3 from tab2- это подзапрос SELECT, который возвращает значения для полейa,b,cиd. Значение поляaвсегда будет равно 1. Значения полейb,cиdберутся из таблицыtab2.into myTable (a, b, c, d)- это продолжение операции INSERT. Значения, возвращаемые подзапросом SELECT, будут присвоены соответствующим полям в таблицеmyTable. Таким образом, в результате выполнения этого кода в таблицеmyTableбудет добавлена новая запись с заполненными полямиa,b,cиdзначениями из таблицыtab2.