是否有可能在 from 子句用例 when 语句中
Is it possible in from clause use case when statement
我正在尝试进行下一个查询:
select * from (case when :p1 = '1' then t1 when :p1=2 then t2);
但它不起作用。我假设在 from 子句中不允许使用 when 语句的情况?有没有其他方法可以解决这个问题。
谢谢
不,你不能那样做。解析查询时必须固定对象和标识符,因此您不能绑定它们。
您可以使用联合检查每个分支中的变量:
select * from t1
where :p1 = 1
union all
select * from t2
where :p1 = 2;
假设表的结构相同。
我正在尝试进行下一个查询:
select * from (case when :p1 = '1' then t1 when :p1=2 then t2);
但它不起作用。我假设在 from 子句中不允许使用 when 语句的情况?有没有其他方法可以解决这个问题。 谢谢
不,你不能那样做。解析查询时必须固定对象和标识符,因此您不能绑定它们。
您可以使用联合检查每个分支中的变量:
select * from t1
where :p1 = 1
union all
select * from t2
where :p1 = 2;
假设表的结构相同。