0
動的クエリを書くことを学んでいます。ピボットを使用した動的選択クエリ
私の質問は、以下の行が機能しない理由です。 @fxPair
変数には赤で下線が引かれています。私の心の中では文字列変数なので、問題は見えませんか?これを行うより良い方法はありますか?
source pivot(max(Mvalue) for Currency in (@fxPair) as pvt
マイクエリ:
declare @FundsT table (fund nvarchar(10))
insert into @FundsT
select SubPot
from tblF
where Fund = @FundCode
order by SubPot
declare @fxPair nvarchar(max) = ''
select @fxPair = @fxPair + '[' + Currency + '], '
from tblCurrency
where DateH = @DateHld
and FundCode in (select fund from @FundsT)
group by Currency
set @fxPair = SUBSTRING(@fxPair, 1, len(@fxPair) - 1)
--print @fxPair
select *
from
(select
FundCode, IssueGrpType, Currency, Sum(MktValDirty) Mvalue
from
Holdings_SS
where
DateHolding = @DateHld
and FundCode in (select fund from @FundsT)
group by
FundCode, IssueGrpType, Currency) source
pivot
(max(Mvalue) for Currency in (@fxPair) as pvt
order by
FundCode, IssueGrpType
このクエリについての質問は、今日のこの質問でも非常に多くの問題があります。あなたのコードは '... in( '[x]、[y]')'と評価され、あなたが望むものは '... in( '[x]'、 '[y]')'と評価されます。 – HoneyBadger