Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在视图中运行SQL Server 2012 Express标量函数_Sql_Function_View_User Defined Functions_Sql Server 2012 Express - Fatal编程技术网

在视图中运行SQL Server 2012 Express标量函数

在视图中运行SQL Server 2012 Express标量函数,sql,function,view,user-defined-functions,sql-server-2012-express,Sql,Function,View,User Defined Functions,Sql Server 2012 Express,我的SQL专家在哥斯达黎加待了一周,有一个问题我不知道如何解决。我有四个简单的表和一个函数。为了简单起见,我将删除任何不需要理解我需要的字段 表1: PRIMARY_ITEM_ID, INVENTORY_ITEM_ID 表2: Table2ID, INVENTORY_ITEM_ID, Table3ID 表3: Table3ID, Department, DepartmentJobType 表4: PRIMARY_ITEM_ID DISCRETE_JOB 该函数使用表4的DISCRETE_

我的SQL专家在哥斯达黎加待了一周,有一个问题我不知道如何解决。我有四个简单的表和一个函数。为了简单起见,我将删除任何不需要理解我需要的字段

表1:

PRIMARY_ITEM_ID,
INVENTORY_ITEM_ID
表2:

Table2ID,
INVENTORY_ITEM_ID,
Table3ID
表3:

Table3ID,
Department,
DepartmentJobType
表4:

PRIMARY_ITEM_ID
DISCRETE_JOB
该函数使用表4的
DISCRETE_Job
列返回作业的
JobType

我需要的:查看
表1
中的所有
库存项目ID
。仅当表3中的JobType与我的函数的结果相等时才显示部门

这些链接类似于

    Table1.INVENTORY_ITEM_ID -> Table2.INVENTORY_ITEM_ID 
AND Table1.PRIMARY_ITEM_ID = Table4.PRIMARY_ITEM_ID
    Table2.Table3ID -> Table3.Table3ID ONLY WHEN 
    Table3.DepartmentJobType = (SELECT FROM GetJobType_F(Table4.DISCRETE_JOB)

我希望我能用我现有的东西做到这一点,而不需要重新设计我的桌子。(我确实意识到,如果我在表1中有JobType,我就不需要这个,但我希望尽可能避免更改表。任何帮助都会很棒!感谢其他专家!

我使用CTE查询解决了这个问题。

我只是认为将JobType附加到表1中的CTE查询可能也会起作用。