2
ジョブに関するデータを含む3つのテーブルがあります。 1つのテーブルはマスタテーブルであり、他の2つはトランザクションであり、マスタに関連しています。複数のクエリの結果から単一の値を返すSQL Server関数を作成する方法
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)
テーブルは常にジョブごとに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
を
と返さなければなりません。
SELECT JobNo, GetStatusAt(JobNo, '3/17/2012') FROM Job
と、それは10
SELECT JobNo, GetStatusAt(JobNo, '4/1/2012') FROM Job
を返し、それは私が前にUNION句クエリを注文しようとしたことがありません20
を返してきています。ありがとう! –