日期:2014-05-18  浏览次数:20451 次

将一张有数据的表,按月重新建表(在线等)
有一张表tab1
name                 xtrq             ...
A1                     0701
A2                     0701
A3                     0701
.
.
.
XY1                   0708
XY2                   0708

想利用   xtrq   这个字段,将tab1按月建表,表名建为fyjb200701...fyjb200708
用SQL语句可以实现吗?谢谢:)))


------解决方案--------------------
create table fyjb200701(name varchar(10),xtrq varchar(10))
create table fyjb200702(name varchar(10),xtrq varchar(10))
create table fyjb200703(name varchar(10),xtrq varchar(10))
.
.
.
insert fyjb200701
select * from tab1 where xtrq = '0701 '
insert fyjb200702
select * from tab1 where xtrq = '0702 '
insert fyjb200703
select * from tab1 where xtrq = '0703 '
.
.
.
------解决方案--------------------
declare @s varchar(8000)

select @s=isnull(@s+ '; ', ' ')+ 'create table yjb20 '+xtrq+ '(name varchar(20));insert yjb20 '+xtrq+ ' select name from yy1 where xtrq= ' ' '+xtrq+ ' ' ' ' from yy1 group by xtrq
exec(@s)