日期:2014-05-19  浏览次数:20706 次

有关查询的问题
我想从10多个表中互相查询一下,看有没有重复行,请各位出个好招,多谢了

------解决方案--------------------
--try


select id from
(
select id from T1
union all
select id from T2
union all
select id from T3

...

union all
select id from T10
)a group by id having count(*)> 1

------解决方案--------------------
把全部的结果先组合一起再查询有没有重复行.
------解决方案--------------------
--查所有以T开头的表有无重复记录
declare @SqlStr varchar(8000)
select @SqlStr= 'select id from( '
select @SqlStr=@SqlStr+ 'select id from [ '+[name]+ '] union all '
from sysobjects where Xtype=N 'U ' and name like 'T% '
select @SqlStr=left(@SqlStr,len(@SqlStr)-10)+ ') as x group by id having count(*)> 1 '
exec(@SqlStr)
------解决方案--------------------
建立第11个表,
把10个表的数据,依次往里面插,但出现主键冲突错误的时候,那么说明这个表有重复的数据。
依次类推。
------解决方案--------------------
mark