decode的一种想法 来看下如何实现
select t1.id t1.name,t1.age,t1.status from table1 t1 decode(t1.status,0,left join table2 t2 on t2.id=t1.id,left join table3 t3 on t3.id=t1.id)
我就想通过decode 来动态改变条件
不过你要看清楚了 是要加动态改变关联的表 不只是一个值
要是oracle 也有 javascript eval这样的函数就好了
------解决方案--------------------动态游标
http://blog.csdn.net/xjzdr/article/details/2038904
------解决方案--------------------
SQL code
select t1.id t1.name,t1.age,t1.status from table1 t1 left join table2 t2 on t2.id=t1.id WHERE t1.status=0
UNION ALL
select t1.id t1.name,t1.age,t1.status from table1 t1 left join table3 t3 on t3.id=t1.id WHERE t1.status!=0;