1

列名が宣言された変数の値と一致するテーブル内の列を呼び出す方法を見つけようとしています。この例では、Tbl_B には「DPS_201911」、「DPS_201910」、「DPS_201909」などの DPS_YYYYMM というラベルが付いた列があります。@Var に一致する指定された YYYYMM について、Tbl_B から正しい列を呼び出す方法を見つける必要があります。助けていただけますか?

キャンペーン_ID DPS_201911 DPS_201910
1 345 123
DECLARE @Var varchar(50)
SET @Var = '201911'

 SELECT ?????
 From Tbl_B
 WHERE campaign_Id = 1 
 
4

1 に答える 1

1

Dynamic sql以下のように使用します

DECLARE @Var varchar(50), @sql varchar(max)
SET @Var = '201911'
set @Var='DPS_'+ @Var;
set @sql='SELECT '+@Var+'
From Tbl_B
WHERE campaign_Id = 1'
EXEC (@sql)
于 2021-06-29T03:41:55.990 に答える