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

oracle 左右连接问题
本帖最后由 liangfu 于 2013-10-18 14:53:39 编辑
 select b.airline,a.tdate,a.dateid,a.ticketstatus 
from tb_dic_airline b left join tb_app_airlinesale_d_tmp a
  on a.airline=b.airline where a.tdate='20130101' and a.dateid='l' and a.ticketstatus='0'

a.airline 有18行数据,b.airline有23条完整的数据,我想通过左连接或者右连接输出'20130101'这一天的23条数据,但是得到的结果是18条

------解决方案--------------------
 select b.airline,a.tdate,a.dateid,a.ticketstatus 
from tb_dic_airline b left join tb_app_airlinesale_d_tmp a
  on a.airline=b.airline and a.tdate='20130101' and a.dateid='l' and a.ticketstatus='0'

------解决方案--------------------
select b.airline,a.tdate,a.dateid,a.ticketstatus  from tb_dic_airline b left join tb_app_airlinesale_d_tmp a   on a.airline=b.airline where a.tdate='20130101' and a.dateid='l' and a.ticketstatus='0' 


a.tdate='20130101'  and a.dateid='l' and a.ticketstatus='0' 
这两个查询条件 都会对结果集造成影响 
先确认一下去掉这些条件后看对不对,在进行调试