Я учусь писать хранимые процедуры. Я хочу иметь три оператора select в моей хранимой процедуре mysql. Операторы второго и третьего выбора требуют результата их оператора верхнего выбора. Я попытался написать следующее. Но не удалось.Несколько операторов выбора в хранимой процедуре mysql
CREATE DEFINER=`root`@`localhost` PROCEDURE `SPTeam`(IN date_x date, OUT emplist3 varchar(200))
BEGIN
SELECT
(
select emp_event.employee_id as emplist1
from emp_event
where emp_event.date = date_x
),
(
select emp_position.employee_id as emplist2
from emp_position
where FIND_IN_SET(emp_position.employee_id, emplist1)=0
AND emp_position.position = "Cameraman"
),
(
select employee.name as emplist3
from employee
where employee.id IN (emplist2)
);
END
Это ошибка, которую я получил.
Error Code: 1054. Unknown column 'emplist1' in 'where clause'
Кто-то Пожалуйста, исправьте меня. Спасибо U.
* Но не удалось. * Означает что? Исключение? – Blank
Вы не можете это сделать, вам нужно повторить второй запрос в инструкции IN в третьем, чтобы получить идентификаторы сотрудников – cichy
Другое дело, что вы не можете получить несколько строк в подзапросе, когда поле подвыборки – cichy