ジョブに関連するデータを含む 3 つのテーブルがあります。1 つのテーブルはマスター テーブルで、他の 2 つはトランザクション テーブルで、マスターに関連付けられています。
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
ジョブごとに常に 1 つの行があります。Trans1
ジョブごとにTrans2
行がないか、1 つまたは複数の行があります。
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を返すようにします。