【问题标题】:Table function in sql database, getting error outputsql数据库中的表函数,得到错误输出
【发布时间】:2015-12-11 03:54:15
【问题描述】:

我正在尝试创建一个表函数 Total_Salary_By_Dept,它返回一个包含 5 列的表 Total_Salary_By_Dept_Table:

Dept_No (Int)
Dept_Name (Char(30))
COUNT_Emp (INT)
SUM_Salary (INT)
AVE_Salary (INT)

全部带有公司数据库;

这是我目前所拥有的,不确定我是否正确:

Use Company
GO


CREATE FUNCTION Total_Salary_By_Dept ()
RETURNS @Total_Salary_By_Dept_Table TABLE
  (
   Dept_No int,
Dept_name char(30),
   COUNT_Emp int,
   Sum_Salary int,
   AVE_Salary int
  )
AS
BEGIN
INSERT INTO @Total_Salary_By_Dept_Table
      Select e.Dept_No, d.Dept_Name, Count(e.Dept_No), SUM(e.salary) as Sum_Salary,AVG(e.salary) as AVE_Salary
from EMPLOYEE e
join DEPARTMENT d ON e.dno = d.dnumber
Group by e.Dept_No, d.Dept_Name
  RETURN
END

但我得到这个错误输出:

Msg 207, Level 16, State 1, Procedure Total_Salary_By_Dept, Line 18
Invalid column name 'Dept_No'.
Msg 207, Level 16, State 1, Procedure Total_Salary_By_Dept, Line 18
Invalid column name 'Dept_Name'.
Msg 207, Level 16, State 1, Procedure Total_Salary_By_Dept, Line 15
Invalid column name 'Dept_No'.
Msg 207, Level 16, State 1, Procedure Total_Salary_By_Dept, Line 15
Invalid column name 'Dept_Name'.
Msg 207, Level 16, State 1, Procedure Total_Salary_By_Dept, Line 15
Invalid column name 'Dept_No'.

我输入错了吗?我是否也以正确的方式完成了我的工作?请多多指教!

【问题讨论】:

  • 感谢我将 e dep 更改为 e.dno 吗?
  • @gordon linoff 也很抱歉打扰你,但我的电子邮件是 gmail 的 gethbonow,你介意给我发邮件,其他部分代码也不能在这里输入

标签: sql-server tsql insert table-functions


【解决方案1】:

【讨论】:

    猜你喜欢
    • 2021-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-20
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多