我需要创建一份报告来查找员工。用户希望能够输入以下内容之一来查找记录:LastName OR FirstName OR Department OR EmplID。
我想使用已经存在的存储过程,但是它被其他报告使用,因此无法修改。
我正在尝试将参数设置为数据集上的过滤器,并且它适用于ONE过滤器。一旦我添加另一个,它就会停止工作。
任何见解?
答案 0 :(得分:1)
最简单的方法是,保留原始SP是将SP的结果转储到临时表中,然后按参数过滤该临时表。
让我们说你的SP目前返回
EmpID, DeptID, EmpFirstName, EmpLastName, EmpDeptID, EmpDept
CREATE TABLE #t(EmpID int, DeptID int, EmpFirstName varchar(50), EmpLastName varchar(50), DeptName varchar(50))
INSERT INTO #t
EXEC myStoredProc
SELECT * FROM #t
WHERE EmpID LIKE '%' + @EmpID + '%'
OR DeptID LIKE '%' + @DeptID + '%'
OR EmpFirstName LIKE '%' + @FirstName + '%'
OR EmpLastName LIKE '%' + @LastName + '%'
或类似的......