Sql 从Select语句调用标量函数
我有标量值函数-fn_GetTaskTimeint。所以我想在select语句的结果中使用返回值。另外,我还有一个名为tblTask的表,看起来像:Sql 从Select语句调用标量函数,sql,sql-server,Sql,Sql Server,我有标量值函数-fn_GetTaskTimeint。所以我想在select语句的结果中使用返回值。另外,我还有一个名为tblTask的表,看起来像: id|TaskName|ParentTask ---------------------- 1|Task1 |-1 2|Task1.2 |1 3|Task2 |-1 我试着这样做: select id, taskName, parentTask, dbo.fn_GetTaskTime(id) as Time from dbo.tbl
id|TaskName|ParentTask
----------------------
1|Task1 |-1
2|Task1.2 |1
3|Task2 |-1
我试着这样做:
select id, taskName, parentTask, dbo.fn_GetTaskTime(id) as Time from dbo.tblTasks
和获取错误-无效的对象名称“tblTask”。
函数的结果是整数。我想得到这样的结果:
id|TaskName|ParentTask|Time
---------------------------
1|Task1 |-1 | 20
2|Task1.2 |1 | 10
3|Task2 |-1 | 35
那么我能做什么呢?根据错误消息
"Invalid object name 'tblTask'". Result of function is integer
错误似乎与您的tblTask有关
我猜该表不存在,因为您的查询的目标是tblTasks。
请验证在函数fn_GetTaskTime中调用的表不是调用tblTask,而是调用tblTask。显示函数代码。尝试此查询选择dbo.fn_gettasktime1 GetTaskTime中的代码似乎正在引用不存在的tblTask,它应该在其中引用多个tblTask。您放置的Sql查询引用了“dbo.tblTask”,而错误显示无效的对象名为“tblTask”。这两个表名看起来很相似。函数中的拼写肯定不正确。@MatthewHaugen非常感谢。这是我的骨头。真的是拼写错误。