运行 SQL 视图中的 Server 2012 Express 标量函数
Running SQL Server 2012 Express Scalar Function in View
我的 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
的函数 returns。
我需要的是:查看 Table1
中的所有 INVENTORY_ITEM_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)
我希望我可以用我现有的东西来做这件事,而不需要重新设计我的桌子。 (我确实意识到,如果我在 Table1 中有 JobType,我就不需要这个,但我想尽可能避免更改表格。任何帮助都会很棒!感谢其他专家!
我使用 CTE 查询解决了这个问题。
我的 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
的函数 returns。
我需要的是:查看 Table1
中的所有 INVENTORY_ITEM_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)
我希望我可以用我现有的东西来做这件事,而不需要重新设计我的桌子。 (我确实意识到,如果我在 Table1 中有 JobType,我就不需要这个,但我想尽可能避免更改表格。任何帮助都会很棒!感谢其他专家!
我使用 CTE 查询解决了这个问题。