如果1=1的话,从A表里把name和id取出来,如果1<>1的话,从B表里把name和id取出来。select
case
when 1=1
then A.name,
A.id
ELSE B.name,
B.id
form
A left join B on ...上面那段SQL文执行不成功,then貌似只能返回一个结果
case
when 1=1
then A.name,
A.id
ELSE B.name,
B.id
form
A left join B on ...上面那段SQL文执行不成功,then貌似只能返回一个结果
union all
select b.* from b where ...
select (case when 1=1 then A.name||A.id ELSE B.name||B.id end)--或者
select (case when 1=1 then A.name else B.name end) name,
(case when 1=1 then A.id else B.id end) id
from
...
decode(条件字段或者啥东西,条件一,条件一所要赋值,条件二,条件二所要赋值,条件三,条件三所要赋值,条件四,条件四所要赋值,..........条件n,条件n赋值,默认赋值)
(case when 1=1 then A.id else B.id end) id
from 表A,表B
先把所有条件下数据都用子查询检索出来后,在where条件里用case来匹配。