2017-01-16 14 views
1

誰かが次のようにアプローチする方法に私を導くことができる:OracleのPL/SQL:条件節

x CHAR:= 'Y'; --VARIABLE 

SELECT a.id, a.name, a.description 
FROM Table1 a 
WHERE (IF x = 'Y' THEN 
    a.name = parameter /*FILTER BY NAME*/ 
    ELSE 
    /*BRING ALL (NO NAME FILTER*/); 

私は条件付きWHERE句をやろうとしています。 IF x = 'Y'次に、名前でフィルタリングします。それ以外はすべての名前を持ちます...上記を実行するための最良の方法は何でしょうか?

SELECT a.id, a.name, a.description 
FROM Table1 a 
WHERE (x != 'Y' OR 
     (x = 'Y' AND a.name = parameter)) 

XY以外の場合は、すべてのレコードがXYであれば、それはまた意志、それ以外の場合は、プルされます:あなたはこれを行うにはOR文で両方の条件を含める必要が

答えて

2

a.Nameのフィルタ

+0

それでした。ありがとう! –