关于impala中union all的问题

imapla中用union all来合并两段查询sql,结果发现同一个单号合并后就没有数据了,合并之前一条sql针对那个单号是有数据的,code详见代码,请大佬帮这看一下,谢谢

select * from 
		(select distinct p.szg_order_id,o.id,d.order_id, o.order_num,
                case when o.order_num is null then d.nos   
                     when o.order_num is not null and p.user_num is not null then p.user_num
                     when o.order_num is not null and p.user_num is  null then d.nos
                end as 'user_num'
        FROM impala_szg.szg_order o 
        INNER JOIN impala_szg.szg_hotel_tra p ON o.id = p.szg_order_id 
        RIGHT JOIN impala_szg.szg_hotel_con_details d ON o.order_num = d.order_id 
        WHERE d.product_name = '出'
             and d.type = 1003
			 
        union all 
		
        select distinct p.szg_order_id, o.id, d.or_id, o.order_num,
                case when o.order_num is null then d.nos   
					 when o.order_num is not null and p.user_num is not null then p.user_num
					 when o.order_num is not null and p.user_num is  null then d.nos
				end as 'user_num'        
        FROM impala_szg.szg_order o 
        INNER JOIN impala_szg.szg_hotel_tra p ON o.id = p.szg_order_id 
        RIGHT JOIN impala_szg.szg_hotel_con_details d ON o.order_num = d.or_id 
        WHERE d.product_name = '退'
              and d.type=1003) z 
where order_id = '20210089412'   -- 单号

 

mark