会SQL的来帮一下忙啊~~~~~~~~~~
一、有两个表,,表A:
学号 姓名 数学成绩 语文成绩
1 假 88 66
2 以 86 98
3 饼 65 21
4 钉 32 32
5 雾 18 80
6 几 65 87
7 庚 56 87
8 新 54 21
表B:
学号
1
2
5
8
什么语句能把表B变成:
学号 姓名 数学成绩 语文成绩
1 假 88 66
2 以 86 98
5 雾 18 80
8 新 54 21
二、
一个数据库里有100个表
什么语句能把这100个表的行数汇总到一个表里。
本人很笨,请详细写明~~~~~~~~~~~~~~~~
参考答案:汇总可以用游标实现
declare @n varchar(50)
declare @s varchar(500)
declare cs1 cursor for
select name from sysobjects where xtype='u'
open cs1
fetch next from cs1 into @n
while @@FETCH_STATUS = 0
begin
set @s = 'declare @cnt int'
set @s = @s + ' select @cnt=count(1) from '+@n
set @s = @s + ' insert into newtable values('''+@n+''',@cnt)'
exec(@s)
fetch next from cs1 into @n
end
close cs1
deallocate cs1
select * from newtable