日期:2014-05-17  浏览次数:20821 次

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;