0
以下に簡単なクエリがありますが、これはうまくいきます。変数の値に基づいて名前を付ける列
ただし、以下に示す名前のない2つの列があります。私は(0 t1.Quantity、)、ISNULL(t2.Quantity、0)
だから私のようなものを持っているでしょうdate2の
ISNULL @日付1 & @変数の値に基づいて列に名前を付けるしたいと思いますこの
ISNULL(t1.Quantity、0)[18年04月17]、ISNULL(t2.Quantity、0)[19年04月17]
これは可能ですか?
マイクエリ
declare @region nvarchar(10), @dateT1 date, @dateT2 date, @sd nvarchar(20)
set @region= 'SF1611'
set @dateT1 = '2017-04-18'
set @dateT2 = '2017-04-19'
set @sd = convert(nvarchar(20), @dateT1, 7)
;with t1 as
(
select Id, Quantity
from myTable
where Region = @region and dateQ = @dateT1
), t2 as
(
select Id, Quantity
from myTable
where Region = @region and dateQ = @dateT2
)
select coalesce(t1.Id, t2.Id) Id, isnull(t1.Quantity, 0), isnull(t2.Quantity,0), isnull(t1.Quantity, 0) - isnull(t2.Quantity,0) diff
from t1 full outer join t2
on t1.Id = t2.Id
where isnull(t1.Quantity, 0) - isnull(t2.Quantity,0) <> 0
にコメントをする前に、それは有効なクエリであるかどうかを確認するために
print
結果にしようと、dynamic SQL
を使用することができますうまく動作しますか?つまり、単純に動的SQLのパラメータで列をエイリアスします。 – scsimon