С кодом, который вы представили, результат из case
будет иметь более одного row
.Это даст ошибку из-за select
, ранее case
.Вы не можете select
несколько rows
там.
select
case when (select count(userid) from fk_tblUserEmployeeList where userid=1) > 1
then (select employeeid from fk_tblUserEmployeeList where userid=1)
else (select employeeid from fk_tblmanageremployeelist where userid=1)
end
Итак, чтобы избежать этого, вы можете использовать IF .
Это должно быть что-токак это:
IF (select count(userid) from fk_tblUserEmployeeList where userid=1) > 1 THEN
(select employeeid from fk_tblUserEmployeeList where userid=1)
ELSE
(select employeeid from fk_tblmanageremployeelist where userid=1)
END IF;