Ich lerne gespeicherte Prozeduren zu schreiben. Ich möchte drei Select-Anweisungen für meine gespeicherte Prozedur mysql haben. Zweite und dritte SELECT-Anweisungen erfordern das Ergebnis ihrer oberen SELECT-Anweisung. Ich habe versucht, wie folgt zu schreiben. Aber nicht gelungen.Mehrere Select-Anweisungen in mysql gespeicherte Prozedur
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
Dies ist der Fehler, den ich bekam.
Error Code: 1054. Unknown column 'emplist1' in 'where clause'
Jemand Bitte korrigieren Sie mich. danken U.
* Aber nicht gelungen. * Bedeutet was? Ausnahme? – Blank
Sie können so etwas nicht tun, müssen Sie zweite Abfrage in IN-Anweisung in dritten um Mitarbeiter-IDs zu erhalten – cichy
Eine andere Sache ist, dass Sie nicht mehrere Zeilen in der Unterabfrage erhalten, wenn Subselection Feld – cichy