0

SSRS 2008 のクエリに以下のコードがあります。

タイプ グループに基づいて項目のリストを返すパラメーターを追加しました。

個々のタイプに基づいてレポートを実行すると、結果は成功しますが、select all属性をクエリに追加しようとすると、結果が返されませんでした。

SELECT DISTINCT ItemTable.ItemType
FROM            TABLE INNER JOIN
                         Table.Column ON Table.column= Table.column INNER JOIN
                         Table.column ON Table.column = Table.Column
UNION
SELECT        '--All--' AS Expr1
WHERE        ItemTable.ItemType= @TypeParameter) OR
                         (ItemTable.ItemType= '--All--')

私は何を間違っていますか?

4

1 に答える 1

0

テスト対象のデータセットがないと判断するのは困難ですが、おそらく次のようになるはずです。

SELECT DISTINCT ItemTable.ItemType
FROM            TABLE INNER JOIN
                         Table.Column ON Table.column= Table.column INNER JOIN
                         Table.column ON Table.column = Table.Column
UNION
SELECT        '--All--' AS Expr1
FROM ItemTable
WHERE        ItemTable.ItemType= @TypeParameter OR 
                         @TypeParameter= '--All--'

最後の行を変更しました。以前は、パラメーターがだった場合、あった--All--行のみを返していItemTypeました--All--(つまり、おそらく何もありません)。

パラメータ自体に対して最後のチェックを実行する必要があります。パラメータが--All--の場合は、すべての行を返したいときです。

コメントの後に編集

サンプル データを使用せずにコードを試してデバッグするのは困難です。

たぶん次のようなもの:

SELECT * FROM
(
SELECT DISTINCT ItemTable.ItemType
FROM            TABLE INNER JOIN
                         Table.Column ON Table.column= Table.column INNER JOIN
                         Table.column ON Table.column = Table.Column
UNION
SELECT        '--All--' AS Expr1
) ItemTable
WHERE        ItemType= @TypeParameter OR
                         @TypeParameter= '--All--'
于 2013-09-06T11:55:28.710 に答える