语句

时间:2017-05-04 12:30:40

标签: oracle11g oracle-sqldeveloper

我正在尝试做下一个查询:

select * from (case when :p1 = '1' then t1 when :p1=2 then t2);

但它没有用。我假设在条款中不允许声明的情况?有没有其他任何方法可以解决这个问题。 感谢

1 个答案:

答案 0 :(得分:2)

不,你不能这样做。解析查询时必须修复对象和标识符,因此您无法绑定它们。

你可以使用一个union来检查每个分支中的变量:

select * from t1
where :p1 = 1
union all 
select * from t2
where :p1 = 2;

假设表的结构相同。

相关问题