我有一个表,我从中查询数据以使用存储过程显示结果集。我还有一个值要在 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