- 締切済み
SQLのWHERE句を条件によって追加したい
SQLのWHERE句にパラメータで渡された値がnullでない場合は条件に 含めるようにしたいのですが、書き方が分かりません。 CASEを使って書いてもエラーになってしまいます。 SELECT 項目1 ,項目2 FROM テーブル WHERE 条件1 = パラメータ1 AND 条件2 = パラメータ2 -- パラメータ3がnullでない場合は下記条件を付けたい AND 条件3 = パラメータ3 使っているのはpostgresqlです。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- mgjgxgww
- ベストアンサー率25% (5/20)
回答No.4
条件1 = パラメータ1 and 条件2 = パラメータ2 and (条件3 is null or 条件3 = nval(パラメータ3,tako)) さてさて
- agehage
- ベストアンサー率22% (2752/12072)
回答No.3
さらに間違えてる 下のカッコは パラメータ3!=null and です
質問者
お礼
ありがとうございました。 結果として違う方法になりましたができました。
- agehage
- ベストアンサー率22% (2752/12072)
回答No.2
間違えた 最初のカッコの中にパラメータ3=null もいれて
- agehage
- ベストアンサー率22% (2752/12072)
回答No.1
カッコつけてorでいけるでしょう where ( 条件1=パラメータ1 and 条件2=パラメータ2 ) or ( 条件1=パラメータ1 and 条件2=パラメータ2 and パラメータ3=null and 条件3=パラメータ3 )
お礼
ありがとうございました。 結果として違う方法になりましたができました。