SELECT DISTINCT(EMP.EMPLOYEEID),
EMP.EMPLOYEECODE,
EMP.EMPLOYEENAME,
EMP.HOMEADDRESS,
DESIG.DESIGNATIONNAME
FROM HRM_EMPLOYEE EMP,
COM_DESIGNATION DESIG,
COM_DEPARTMENT DEPT,
COM_COMPANY COMP,
HRM_EMPLOYEEDEPARTMENTS EMPDEPT,
USR_USERS USRS
WHERE EMP.EMPLOYEEID = EMPDEPT.EMPLOYEEID AND
EMP.DESIGNATIONID = DESIG.DESIGNATIONID AND
DESIG.DEPARTMENTID = EMPDEPT.DEPARTMENTID AND
EMP.STATUS IN (SELECT STAT STAT
FROM
(
CASE
When (:status = 0) THEN
SELECT 1 STAT FROM dual
UNION ALL
SELECT 2 STAT FROM dual
else
Select :status STAT from dual
end
)
xx
)
其实我的需要是:根据参数传递存放记录。如果tat参数我希望显示所有记录。ORA-00907:缺少右括号
那么,错误说你缺少一个右括号,你是。在查询的末尾添加一个')'。 – Blorgbeard 2011-03-30 07:16:02
请结束您的最后一句话:“如果该参数我希望显示所有记录...”。当你想显示所有记录时,你的参数的值是多少?我会尽量正确地编写你当前的查询。 – 2011-03-30 07:17:47
并且不要忘记标记你的正确答案。 – 2011-03-30 07:50:59