刚刚写的··你们帮我看看看!
create table #tmp
(
userid varchar(20)
)
declare @i int
declare @k varchar(2)
declare @table_2011 varchar(50)
set @i=0
while @I<=31
begin
if @i<10
set @k='0'+cast(@i as varchar(1))
select @table_2011=N'''table_2011'+@k+''''
if exists(select 1 from ku2..sysobjects where name=@table_2011)
exec(' insert into table_userid select userid from ku2..'+@table_2011
+' where exists(select 1 from ku1..table where ku1..table.userid=ku2..'+@table_2011+'.userid)'
+' and not exists(select 1 from #tmp=ku1..table.userid)' )
set @i=@i+1
end
select count(*) from #tmp
drop table #tmp
select count(*) from 数据库1.a类数据
where exists (select 1 from 数据库2.table_20110909 where userid = 数据库1.a类数据.userid)
or exists (select 1 from 数据库2.table_20110910 where userid = 数据库1.a类数据.userid)
or ex……
[/Quote]
如果用这个也得找出不重复的。加个distinct 吧。
select count(distinct 数据库1.userid) from 数据库1.a类数据
where exists (select 1 from 数据库2.table_20110909 where userid = 数据库1.a类数据.userid)
or exists (select 1 from 数据库2.table_20110910 where userid = 数据库1.a类数据.userid)
or exists (select 1 from 数据库2.table_20110911 where userid = 数据库1.a类数据.userid)