多表查询,在线等 表a1(no,name,class),a2(no,name,class).....a100.....以此类推,表结构都一样,但是有大量表,每天按日期增加一张。求查询所有表中,name=‘123'的记录。最好能在过了很久以后,尽可能少的修改语句后,就能重复使用。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 写一个视图把所有表UNION ALL起来,然后写一个作业每天更新视图把新加的表加进视图,查询视图就可以了 把SQL SERVER当成Excel用了,服 select *from a1 where name='123'union allselect *from a2 where name='123'....这设计... 如果表少还可以 如果是大量的表的话这样的设计是有问题的 写个sql语句要把人累死 select * into #a from a1 where 1=2declare @tablename varchar(20)declare @i intselect @i = 1while(@i <= 按日期增加循环)begin select @tablename = '' --按日期定义表名 declare @sql varchar(1000) select @sql = 'insert into #a select * from ' + @tablename + ' where name = ''123''' exec(@sql) select @i = @i + 1endselect * from #a 如何在函数中使用表参数 SQL Server 2008 R2 Express 几个问题 请教一算法过程 ★★小白又来了:Sql语句,如何求最近两个月的更新的数据? sql 查询排序问题 大家帮忙我解决一个关于 Top 和 Distinct 的问题,谢谢 在线等 EXCEL导入MSSQL2008 错误,请大牛们看看! 请高手进来指点下 具体想请教如何仿制WINDOWS的NTFS的ACL权限设计。 SQL2000装在XP下,用动态解析软件远程连接总是连接不上,是不是XP就不行啊! 事情是这样的......求救! SQL语句差啊?救命!!!
from a1 where name='123'
union all
select *
from a2 where name='123'
....这设计...
declare @tablename varchar(20)
declare @i int
select @i = 1
while(@i <= 按日期增加循环)
begin
select @tablename = '' --按日期定义表名
declare @sql varchar(1000)
select @sql = 'insert into #a select * from ' + @tablename + ' where name = ''123'''
exec(@sql)
select @i = @i + 1
endselect * from #a