27,579
社区成员
发帖
与我相关
我的任务
分享
create table TABLE_J201104
(
id int,
name varchar(20),
dt datetime,
qty int
)
Create table TABLE_J201105
(
id int,
name varchar(20),
dt datetime,
qty int
)
Create table TABLE_J201106
(
id int,
name varchar(20),
dt datetime,
qty int
)
Create table TABLE_J201107
(
id int,
name varchar(20),
dt datetime,
qty int
)
Go
Create procedure P_UserRecord
(
@beginDt datetime,
@endDt datetime
)
As
Begin
declare @i int
set @i = 1
declare @sql varchar(max)
declare @dtName varchar(30)
set @dtName ='TABLE_J'+CONVERT(varchar(6),@beginDt,112)
set @sql = 'select * from '+@dtName+' A'
while @i < datediff(month,@beginDt,@endDt)
begin
set @dtName = 'TABLE_J'+''+CONVERT(varchar(6),dateadd(month,@i,@beginDt),112)+''
set @sql = @sql + ' left join '+@dtName+' on A.name = '+@dtName+'.name'
set @i = @i + 1
End
exec(@sql)
end
--P_UserRecord '2011-04-01','2011-07-07'
id name dt qty id name dt qty id name dt qty
----------- -------------------- ----------------------- ----------- ----------- -------------------- ----------------------- ----------- ----------- -------------------- ----------------------- -----------
(0 行受影响)
可以的 贴出表结构出来.