2017-03-06 5 views
0

SSRSを使用してTeradataに接続していて、複数のパラメータを持つ場合が多く、複数の値を要求します。複数の値Teradataに接続するSSRSのパラメータでエラーが返される

これらのパラメータは必ずしもすべて満たされない場合があります。場合によっては空白になることもあります。 、

Select * from Table 
Where 
(Param1 in (?) or ? = '') 
AND 
(Param2 in (?) or ? = '') 
AND 
(Param3 = ? OR ? = '') 

これは先行するように期待される何かを示すエラーを与えるか、存在するかにか..........含ま

誰もが同様の経験 - だから私は以下のようにロジックを使用しています問題?助けてください。

+1

実際にSQLで疑問符を使用していますか、それとも単なる例ですか?また、タイトルはTableauではなくTeradataであるはずですか?あなたは通常、データベースに接続するために使用するツールでこのクエリを実行しようとしましたか?この問題は、SSRSとは関係ないかもしれません。 – StevenWhite

+1

"*これは、先行する、存在する、または存在する、または含むような何かを予期しているというエラーを返します。それは実際のエラーですか? –

答えて

0

私はTeradataのについてはよく分からないが、SQL Serverで、それは次のように行われることでしょう。..

SELECT * FROM MyTable 
WHERE 
    (ColumnA IN (@Param1) OR ISNULL(@Param1,'')='') 
    OR (ColumnB IN (@Param2) OR ISNULL(@Param2,'')='') 

私はパラメータがSSRSにNULLが許されていることをpossiblityに考慮しISNULLを使用しました。

関連する問題