oracle数据库外部有一个参数,如果参数等于0,连A表;如果参数等于1,连B表。要求用一句sql写出。
类似于:select * from case when para = 0 tableA else tableB我现在想到的办法是,A表和B表都做连接,然后在select里面判断取哪张表的字段。
但是这样一来,查询开销太大。不知道有什么办法吗。
类似于:select * from case when para = 0 tableA else tableB我现在想到的办法是,A表和B表都做连接,然后在select里面判断取哪张表的字段。
但是这样一来,查询开销太大。不知道有什么办法吗。
只连一个事不可能的
要是能做到,那个开销才叫大
整个查询连接一次表
按你的要求的话,每查一行都得连接一次表
select 0 type, a.* from a
union all
select 1 type, b.* from b
)
where type = 0;这是你的方法吗?
select * from tableA
else
select * from tableB
end if;
不是plsql,只是一句sql。
就是想知道,from后面能不能用条件来判断到底连接哪张表。
不可以,这个事情就是要在java中预先处理好,如果where条件后面都可以加条件,那数据库的执行计划恐怕就做不好喽