我有三个表,其中包含与作业相关的数据。一个表是主表,另外两个是事务性的并且与主表相关。
CREATE TABLE Job
(JobNo varchar(10))
CREATE TABLE Trans1
(JobNo varchar(10), TrxDate datetime, TrxStatus int)
CREATE TABLE Trans2
(JobNo varchar(10), TrxDate datetime, TrxStatus int)
该Job
表将始终为每个作业一行。Trans1
并且Trans2
每个作业将没有、一行或多行。
对于给定的工作,我需要能够编写一个查询,该查询将返回给TrxStatus
定日期的列值。
假设Trans1
有
Job TrxDate TrxStatus
AB123 2/1/2012 10
AB123 3/1/2012 20
AB123 3/31/2021 20
假设Trans2
有
Job TrxDate TrxStatus
AB123 3/15/2012 10
我需要能够创建一个可以查询的函数(或有一个解决方案):
SELECT JobNo, GetStatusAt(JobNo, '3/1/2012') FROM Job
并让它返回 20。
SELECT JobNo, GetStatusAt(JobNo, '3/17/2012') FROM Job
并让它返回 10。
SELECT JobNo, GetStatusAt(JobNo, '4/1/2012') FROM Job
并让它返回 20。