2016-05-13 91 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'。