前驱:我必须使用存储过程,而且我使用的是SQL Server 2000。我还需要吐出一张表,以便Reporting Services能够正确使用它。但是,我可以创建任何数据库对象来帮助获取数据。
所以,这是我的select语句的一个例子(我希望我让它看起来和我实际使用的一样)
SELECT
Store.Store_ID,
Store.Store_Description,
Salaries.Income,
Salaries.Tax_Rate,
Managers.Manager_Name,
Employees.Employee_ID
FROM
Store INNER JOIN
Managers ON Managers.Store_ID = Store.Store_ID INNER JOIN
Employees ON Managers.Manager_ID = Employees.Manager_ID INNER JOIN
Salaries ON Employees.Salary_Type_ID = Salaries.Salary_Type_ID
WHERE (Store.Store_ID = 20561)
ORDER BY Employee_ID
编辑:由于该过程返回一个值,我只想这样做:
SELECT
Store.Store_ID,
Store.Store_Description,
Salaries.Income,
Salaries.Tax_Rate,
Managers.Manager_Name,
Employees.Employee_ID,
Exec proc_Get_Emplyee_estimation_Costs Employee_ID
FROM
Store INNER JOIN
Managers ON Managers.Store_ID = Store.Store_ID INNER JOIN
Employees ON Managers.Manager_ID = Employees.Manager_ID INNER JOIN
Salaries ON Employees.Salary_Type_ID = Salaries.Salary_Type_ID
WHERE (Store.Store_ID = 20561)
ORDER BY Employee_ID
我知道我显然不能这样做,但我需要能够使用员工编号在每一行上使用该程序。我不知道该怎么办。
我可以创建一个函数,在该函数中使用过程中select语句的结果,然后将其附加到表上并将表返回给Reporting Services吗罢工