用于检查两个表中的值是否相同的SQL查询

时间:2012-02-28 12:11:25

标签: sql

我有一张这样的桌子:

spsscode  spssdescription   brpcode    brpdescripton

1         cash deposit      x          cash deposit
7         withdraw          y          withdraw
8         cheque deposit    w          cheque deposit
9         bank transfer     v          bank transfer

这里的前端,输入代码是SPSS,它以BRP CODE的形式将信息存储在数据库中(如表中所定义)

现在我有一个新版本,其中没有对此表进行更改,所以我必须编写一个查询来检查最新版本中的新表是否与旧表完全相同 (即1 = x,7 = y,8 = w,9 = v)。

以某种方式我可以从旧表中选择spss代码和brp代码,并在新表中检查这些代码

1 个答案:

答案 0 :(得分:1)

尝试:

select spsscode, spssdescription, brpcode, brpdescripton, min(which_table)
from
(select t.*, 'old' which_table from oldtable t
 union all
 select t.*, 'new' which_table from newtable t) v
group by spsscode, spssdescription, brpcode, brpdescripton
having count(*) < 2