• ベストアンサー

sql2005ストアド計算式で金額1*数量1,金額2*数量2などの時に

sql2005ストアド計算式で金額1*数量1,金額2*数量2などの時に、金額・数量の後ろを変数にして繰り返し処理する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

あるテーブル「テーブル1」に数量1,金額1,数量2,金額2,....,数量10,金額10まで項目があるとして、 それらの数量a×金額aの合計を求めたいとすれば、こんな感じになります。 DECLARE @sql varchar(MAX) DECLARE @i int SET @i=1 WHILE (@i<=10) BEGIN SET @sql = ISNULL(@sql+'+','')+'数量'+CONVERT(varchar,@i)+'*金額'+CONVERT(varchar,@i) SET @i=@i+1 END SET @sql='SELECT '+@sql+' FROM テーブル1' EXEC (@sql) まあ、もしこのようなテーブルが本当にあるとしたら、全く正規化されていないテーブルってことですけど。

kirin4247
質問者

お礼

ありがとうございます。 繰り返し処理が出来て楽になります。

関連するQ&A