我有两个名为DataEntry_old和DataEntry_new的表,两个表上都有doc doc,mobileno,name,addr列。
我想显示两个表中所有匹配的行,其中mobileno = 987654321。 也就是说,如果mobileno = 987654321在DataEntry_old中,那么此表中的一行,如果还是mobileno = 987654321,则在DataEntry_new中,然后是该表中的另一行。
答案 0 :(得分:2)
您希望对此查询使用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'
答案 1 :(得分:0)
SELECT doc_id, mobileno, name, addr
FROM DataEntry_old
,DataEntry_new
WHERE DataEntry_ol.doc_id = DataEntry_new.doc_id
答案 2 :(得分:0)
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'