我有选择案例的问题..
桌子
模板(temp_id、temp_title、temp_applyto、temp_status、start_date、end_date)
[其中 temp_applyto 存储 int 1-individu、2-branch、3-dept 和 4-position]
个人(applyto_id,applyto_individu,applyto_temp)
分支(applyto_id、applyto_branch、applyto_temp)
部门(applyto_id、applyto_dept、applyto_temp)
位置(applyto_id、applyto_position、applyto_temp)
员工(身份证、姓名、分公司、部门、职位)
描述:
我想检查用户是否在个人、分支、部门或职位中。如果temp_applyto(表模板)=1,那么我想检查用户是否存在,如果temp_applyto =2 ,那么我想检查表分支,如果用户存在并且同样的情况继续。
到目前为止的查询:
SELECT (CASE WHEN temp_applyto=1
THEN (SELECT applyto_temp FROM individu
WHERE applyto_individu=$user)
WHEN temp_applyto=2
THEN (SELECT a.applyto_temp FROM branch a, staff b
WHERE >a.applyto_branch=b.branch AND b.id=$user)
WHEN temp_applyto=3
THEN (SELECT a.applyto_temp FROM dept a, staff b
WHERE >a.applyto_dept=b.dept AND b.id=$user)
WHEN temp_applyto=4 THEN (SELECT a.applyto_temp FROM position a, staff b
WHERE a.applyto_position=b.position AND b.id=$user)
ELSE 0 end) as template_temp
FROM template
WHERE '2013-08-21' BETWEEN start_date AND end_date
我得到这个错误:子查询返回超过 1 行