我正在尝试做下一个查询:
select * from (case when :p1 = '1' then t1 when :p1=2 then t2);
但它没有用。我假设在条款中不允许声明的情况?有没有其他任何方法可以解决这个问题。 感谢
答案 0 :(得分:2)
不,你不能这样做。解析查询时必须修复对象和标识符,因此您无法绑定它们。
你可以使用一个union来检查每个分支中的变量:
select * from t1
where :p1 = 1
union all
select * from t2
where :p1 = 2;
假设表的结构相同。