2016-05-13 107 views
0

是否可以添加select語句以防萬一或者功能是否爲SQL選擇的情況下,如果聲明?

select case when :A='do' then (select col1 from table1) else 'n/a' end;

select if(:A='do',(select col1 from table1),'N/A'); 

如果我的參數是「做」它應該顯示在表中的所有值,否則它應該只是顯示「N/A」。

請幫幫我。謝謝!

+0

當你說「所有的價值觀」,你的意思是一列還是多於一列?如果更多,是否「N/A」出現在所有列中? – Bohemian

+0

你嘗試過使用WHERE嗎? – dcieslak

+0

@Bohemian;一列中的所有數據。 –

回答

1

如果這是Oracle,按照您的標籤,那麼您的查詢都不是有效的,因爲它們實際上並未從表中進行選擇。

也許你是後是一樣的東西:

select case when :A='do' then col1 else 'n/a' end col 
from table1; 

或者,也許你喜歡的東西后:

select col1 
from table1 
where :A != 'do' 
union all 
select 'N/A' col1 
from dual 
where :A = 'do'; 

你沒有提供任何數據,例如,所以我不知道你試圖做的是如果綁定變量是「do」,或者你只想要一個包含'N/A'的單行,那麼col1的所有值都顯示爲'N/A'。