有人可以帮助我如何为具有相同列名的两个不同表排除非空值并且仅包括空值吗?
TableA TableB
Sub_id Track_no Active_date Sub_id Track_no Active_date
------- -------- ----------- ------- -------- -----------
001 123 null 001 124 01/02/2013
001 124 null
001 125 null
这里我需要获取记录Track_no
,其中active_date为null且sub_id = 001,我必须联接两个表,因为Active_date仅在tableB中可用。
答案 0 :(得分:1)
我希望我对你
select * from tableA a
inner join tableB b
on a.sub_id = b.sub_id
and a.track_no = b.track_no
and a.active_date is null
答案 1 :(得分:0)
以下查询显示了tableA数据,但如果tableA中的数据为null,则active_date取自tableB。
select sub_id,
track_no,
coalesce(a.active_date,b.active_date) active_date,
a.active_date active_date_from_a,
b.active_date active_date_from_b
from tableA a
left join tableB b
on a.sub_id = b.sub_id