- ベストアンサー
sql2005ストアド計算式で金額1*数量1,金額2*数量2などの時に
sql2005ストアド計算式で金額1*数量1,金額2*数量2などの時に、金額・数量の後ろを変数にして繰り返し処理する方法を教えてください。
- みんなの回答 (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) まあ、もしこのようなテーブルが本当にあるとしたら、全く正規化されていないテーブルってことですけど。
お礼
ありがとうございます。 繰り返し処理が出来て楽になります。