ストアド プロシージャを使用して結果セットを表示するためにデータをクエリするテーブルがあります。また、セルごとに変化し続ける where 条件で値を指定する必要があり、そのパラメーターは、クエリを実行する必要があるテーブルでは使用できません。今のところ、その特定のパラメーターの をハードコーディングしました。結果セットは 7 行 16 列で構成されているはずです。ハードコーディングする代わりに楽観的な方法はありますか? どんな助けでも大歓迎です。
ハードコーディングした一時テーブルは次のとおりです。
create table #temp_financials(iden_val int identity(1,1) ,
categ varchar(100),Retail_RDR varchar(100),Avg_Price_RDR varchar(100),
GPVR_RDR varchar(100),
L_RDR varchar(100),
L_Avg_Price varchar(100),L_GPVL varchar(100),
C_RDR varchar(100),C_Avg_Price varchar(100),C_GPVR varchar(100),
C_Rgn_GPVR varchar(100),C_Nat_GPVR varchar(100),
C_Lease_Penet varchar(100),C_Rgn_Penet varchar(100))
insert into #temp_financials(categ,Retail_RDR ,Avg_Price_RDR , GPVR_RDR ,
L_RDR ,L_Avg_Price ,L_GPVL ,
C_RDR ,C_Avg_Price ,C_GPVR ,C_Rgn_GPVR ,C_Nat_GPVR ,
C_Lease_Penet ,C_Rgn_Penet )
values('Ttl Sum',
'B9720','B9996','B9776','B9722','B9997','B9791','B9733','B10003','B9806','B9806 ','B9806','B9885','B9885' )
insert into #temp_financials(categ,Retail_RDR ,Avg_Price_RDR , GPVR_RDR ,
L_RDR ,L_Avg_Price ,L_GPVL ,
C_RDR ,C_Avg_Price ,C_GPVR ,C_Rgn_GPVR ,C_Nat_GPVR ,
C_Lease_Penet ,C_Rgn_Penet )
values ('B9870','B9773','4042A','B9998','B9788',
'B9872','B2090','B9803','B9803','B9803','B10004','B10004')
参加するテーブルは次のとおりです。
while(@loop_var<=@count_var)
begin
select t.categ,Retail_RDR=w1.CMValue,Avg_Price_RDR=w2.CMValue,
GPVR_RDR=w3.CMValue,L_RDR=w4.CMValue,
from westernunion w1 join #temp_financials t on
w1.acct_no=t.retail_RDR left outer join
westernunion w2 on w2.acct_no=t.avg_price_rdr
left outer join westernunion w3 on w3.acct_no=t.GPVR_RDR
left outer join westernunion w4 on w4.acct_no=t.L_RDR
where t.iden_val=@loop_var
set @loop_var=@loop_var+1
end