我有 2 个名为 DataEntry_old 和 DataEntry_new 的表,两个表上都有 doc id、mobileno、name、addr 列。
我想显示两个表中 mobileno=987654321 的所有匹配行。也就是说,如果 mobileno=987654321 在 DataEntry_old 中,则该表中的一行,如果 mobileno=987654321 在 DataEntry_new 中,则该表中的另一行。
我有 2 个名为 DataEntry_old 和 DataEntry_new 的表,两个表上都有 doc id、mobileno、name、addr 列。
我想显示两个表中 mobileno=987654321 的所有匹配行。也就是说,如果 mobileno=987654321 在 DataEntry_old 中,则该表中的一行,如果 mobileno=987654321 在 DataEntry_new 中,则该表中的另一行。
您想对此查询使用 union all:
select t.*
from ((select 'old' as which, doc id, mobileno, name, addr
from DataEntry_old
) union all
(select 'new' as which, doc id, mobileno, name, addr
from DataEntry_new
)
) t
where t.mobileno='987654321'
SELECT doc_id, mobileno, name, addr FROM DataEntry_old o inner join DataEntry_new n
on o.doc_id=n.doc_id
where n.mobileno='987654321'
SELECT doc_id, mobileno, name, addr
FROM DataEntry_old
,DataEntry_new
WHERE DataEntry_ol.doc_id = DataEntry_new.doc_id