某个编号的产品在某个时间段在某个仓库的出库汇总(升级版)

declare @storeid nvarchar(2)
  declare @prdtid nvarchar(10)
  declare @start nvarchar(20)
  declare @end nvarchar(20)
  declare @outno nvarchar(20)
  declare @strSql nvarchar(4000)
  declare @tempstr nvarchar(4000)
  set @storeid='01'
  set @prdtid='0230157'
  set @start='2012-03-21'
  set @end='2012-03-24'
 
  declare outnoCursor cursor for
 select soid from [szjdw_log].[dbo].[mf_prdtout] where  createdt>CONVERT(datetime,@start) and createdt< CONVERT(datetime,@end) and storeid=@storeid
  open outnoCursor
  fetch outnoCursor into @outno
  while @@FETCH_STATUS=0
  begin
 if @tempstr is null
  begin
  set @tempstr=''''+ltrim(rtrim(@outno))+''''
  end
 else
  begin
  set @tempstr=@tempstr+','''+ltrim(rtrim(@outno))+''''
  end
 fetch next from outnoCursor into @outno
 end
 close outnoCursor
 deallocate outnoCursor
 set @strSql=N'select * from mf_prdtout_de where soid in ('+@tempstr+') and prdtid='''+@prdtid+''''
 
 IF OBJECT_ID('Tempdb.dbo.#O') Is Not Null
  begin
 print 'Exists Table Tempdb.dbo.#S'
 drop table #O
  end
  Else
  begin
 print 'Not Exists Table Tempdb.dbo.#S'
 create table #O(
  [soid] [char](12) NOT NULL,
  [prdtid] [char](7) NOT NULL,
  [num] [float] NULL,
  [price] [float] NULL,
  [seq] [int] NULL
 )
  end
  delete from #O
  --select @strSql
  insert into #O exec(@strSql)
  select * from #O
  go

 

posted @ 2012-03-23 17:43  szjdw  阅读(172)  评论(0编辑  收藏  举报