如何显示2个表中的所有重复行?

时间:2012-07-24 09:36:30

标签: sql

我有两个名为DataEntry_old和DataEntry_new的表,两个表上都有doc doc,mobileno,name,addr列。

我想显示两个表中所有匹配的行,其中mobileno = 987654321。 也就是说,如果mobileno = 987654321在DataEntry_old中,那么此表中的一行,如果还是mobileno = 987654321,则在DataEntry_new中,然后是该表中的另一行。

3 个答案:

答案 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'