选择的情况下,如果声明?
问题描述:
是否可以添加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”。
请帮帮我。谢谢!
答
如果这是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'。
当你说“所有的价值观”,你的意思是一列还是多于一列?如果更多,是否“N/A”出现在所有列中? – Bohemian
你尝试过使用WHERE吗? – dcieslak
@Bohemian;一列中的所有数据。 –