有表a、x
select *
from a, x
where a.l_fund_id = decode(x.l_layer_id, -1, a.l_fund_id, x.l_layer_id) //关联条件是这样的希望的结果:即使x表中没有对应的记录,也可以显示a表中的全部记录
即和a.*** = x.*****(+)的实现效果一样,这个该怎么实现呢?
select *
from a, x
where a.l_fund_id = decode(x.l_layer_id, -1, a.l_fund_id, x.l_layer_id) //关联条件是这样的希望的结果:即使x表中没有对应的记录,也可以显示a表中的全部记录
即和a.*** = x.*****(+)的实现效果一样,这个该怎么实现呢?
from a left join x
on a.l_fund_id = decode(x.l_layer_id, -1, a.l_fund_id, x.l_layer_id)
当然你可以先用子查询生成一个新列,再用新列来关联,然后使用a.*** = x.***(+)的方式