0

質問があります。複数の値フィールドを持つ SSRS レポートがあります。たとえば、作成した SQL ストアド プロシージャからどのように解析できるか迷っていました。

Multiple Values -> Egg,Banana,Apple,Candies,Honey

SQL:

SELECT Qty, Amount FROM tblFoodList WHERE ListOfFood IN (?Multiple Values?)

IN句内に複数の値を入れるにはどうすればよいですか?同様に、これは正しい方法ですか、それとも他の方法があります..

のような文字列として渡す必要がありますか?

@varTemp = 'Egg','Banana','Apple','Candies','Honey' 

SELECT Qty, Amount FROM tblFoodList WHERE ListOfFood IN (@varTemp)

ところで、私はSQL 2008 R2を使用しており、SQLの文字列操作アプローチを使用しています

4

1 に答える 1

1

ストアド プロシージャを使用しているため、SSRS は常に CSV リストを渡します。テーブル値パラメーターなどのオプションはありません。

のような文字列になります'Egg,Banana,Apple,Candies,Honey'

次のステップは、この文字列をある種のテーブル変数に変換し、それをIN句で使用することです。ここで使用できるテクニックはいくつもあります。

Erland Sommarskogは、優れたテクニックのリストを維持しています。

このSO の質問には、さまざまな選択肢もあります。

クエリをレポートに直接埋め込む場合は、次のように変数を参照できIN (@varTemp)ます。これは基本的に動的 SQL であるため、適切なクエリが作成されます。SP にあまりにも多くのロジックを入れたくない場合に検討すべき代替案です。

于 2013-05-18T11:34:41.297 に答える