一个SQL 存储过程执行出来会有两张表主键(prod)
怎么汇总到一张reporting service里USE [cs]
GO
/****** Object: StoredProcedure [dbo].[frmQueryPlanprod2] Script Date: 12/20/2012 08:43:41 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GOALTER PROCEDURE [dbo].[frmQueryPlanprod2] @m_strDate varchar(10)AS
BEGIN
declare @sql varchar(8000)
declare @dDate datetime
declare @m_DateYear varchar(4)
declare @m_DateMonth varchar(2)
declare @m_DateDay varchar(2)
declare @m_dStart1 varchar(10)
declare @m_dEnd1 varchar(10)
declare @m_dStart2 varchar(10)
declare @m_dEnd2 varchar(10)
declare @m_dStart3 varchar(10)
declare @m_dEnd3 varchar(10) set @m_DateYear = Substring(@m_strDate, 1,4);
set @m_DateMonth = Substring(@m_strDate, 5,2);
set @m_DateDay = Substring(@m_strDate, 7,2);
set @dDate=@m_DateYear+'-'+@m_DateMonth+'-'+@m_DateDay;
if (@m_DateDay>24)
begin
set @m_dStart1 = convert(varchar(10),DATEADD(m,-3,@m_DateYear+'-'+@m_DateMonth+'-25'),20)
set @m_dEnd1 = convert(varchar(10),DATEADD(m,-2,@m_DateYear+'-'+@m_DateMonth+'-24'),20)
set @m_dStart2 = convert(varchar(10),DATEADD(m,-2,@m_DateYear+'-'+@m_DateMonth+'-25'),20)
set @m_dEnd2 = convert(varchar(10),DATEADD(m,-1,@m_DateYear+'-'+@m_DateMonth+'-24'),20)
set @m_dStart3 = convert(varchar(10),DATEADD(m,-1,@m_DateYear+'-'+@m_DateMonth+'-25'),20)
set @m_dEnd3 = convert(varchar(10),DATEADD(m,0,@m_DateYear+'-'+@m_DateMonth+'-24'),20)
end
else
begin
set @m_dStart1 = convert(varchar(10),DATEADD(m,-4,@m_DateYear+'-'+@m_DateMonth+'-25'),20)
set @m_dEnd1 = convert(varchar(10),DATEADD(m,-3,@m_DateYear+'-'+@m_DateMonth+'-24'),20)
set @m_dStart2 = convert(varchar(10),DATEADD(m,-3,@m_DateYear+'-'+@m_DateMonth+'-25'),20)
set @m_dEnd2 = convert(varchar(10),DATEADD(m,-2,@m_DateYear+'-'+@m_DateMonth+'-24'),20)
set @m_dStart3 = convert(varchar(10),DATEADD(m,-2,@m_DateYear+'-'+@m_DateMonth+'-25'),20)
set @m_dEnd3 = convert(varchar(10),DATEADD(m,-1,@m_DateYear+'-'+@m_DateMonth+'-24'),20)
end
print @m_dStart1
print @m_dEnd1
print @m_dStart2
print @m_dEnd2
print @m_dStart3
print @m_dEnd3
--exec('select 品名 Prod from v_can')
exec('select prod, isnull(sum(allstock*[convert]),0) allstock,isnull(sum(selstock*[convert]),0) selstock,isnull(sum(enstock*[convert]),0) enstock from planprod where cdte='''+@m_dStart1+'''group by prod') exec('select prod, round(isnull(sum(selin*[convert]),0),0) SelinTH from planprod where cdte>=''' +@m_dStart1 +''' and cdte<='''+@m_dEnd1+'''group by prod')
END
怎么汇总到一张reporting service里USE [cs]
GO
/****** Object: StoredProcedure [dbo].[frmQueryPlanprod2] Script Date: 12/20/2012 08:43:41 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GOALTER PROCEDURE [dbo].[frmQueryPlanprod2] @m_strDate varchar(10)AS
BEGIN
declare @sql varchar(8000)
declare @dDate datetime
declare @m_DateYear varchar(4)
declare @m_DateMonth varchar(2)
declare @m_DateDay varchar(2)
declare @m_dStart1 varchar(10)
declare @m_dEnd1 varchar(10)
declare @m_dStart2 varchar(10)
declare @m_dEnd2 varchar(10)
declare @m_dStart3 varchar(10)
declare @m_dEnd3 varchar(10) set @m_DateYear = Substring(@m_strDate, 1,4);
set @m_DateMonth = Substring(@m_strDate, 5,2);
set @m_DateDay = Substring(@m_strDate, 7,2);
set @dDate=@m_DateYear+'-'+@m_DateMonth+'-'+@m_DateDay;
if (@m_DateDay>24)
begin
set @m_dStart1 = convert(varchar(10),DATEADD(m,-3,@m_DateYear+'-'+@m_DateMonth+'-25'),20)
set @m_dEnd1 = convert(varchar(10),DATEADD(m,-2,@m_DateYear+'-'+@m_DateMonth+'-24'),20)
set @m_dStart2 = convert(varchar(10),DATEADD(m,-2,@m_DateYear+'-'+@m_DateMonth+'-25'),20)
set @m_dEnd2 = convert(varchar(10),DATEADD(m,-1,@m_DateYear+'-'+@m_DateMonth+'-24'),20)
set @m_dStart3 = convert(varchar(10),DATEADD(m,-1,@m_DateYear+'-'+@m_DateMonth+'-25'),20)
set @m_dEnd3 = convert(varchar(10),DATEADD(m,0,@m_DateYear+'-'+@m_DateMonth+'-24'),20)
end
else
begin
set @m_dStart1 = convert(varchar(10),DATEADD(m,-4,@m_DateYear+'-'+@m_DateMonth+'-25'),20)
set @m_dEnd1 = convert(varchar(10),DATEADD(m,-3,@m_DateYear+'-'+@m_DateMonth+'-24'),20)
set @m_dStart2 = convert(varchar(10),DATEADD(m,-3,@m_DateYear+'-'+@m_DateMonth+'-25'),20)
set @m_dEnd2 = convert(varchar(10),DATEADD(m,-2,@m_DateYear+'-'+@m_DateMonth+'-24'),20)
set @m_dStart3 = convert(varchar(10),DATEADD(m,-2,@m_DateYear+'-'+@m_DateMonth+'-25'),20)
set @m_dEnd3 = convert(varchar(10),DATEADD(m,-1,@m_DateYear+'-'+@m_DateMonth+'-24'),20)
end
print @m_dStart1
print @m_dEnd1
print @m_dStart2
print @m_dEnd2
print @m_dStart3
print @m_dEnd3
--exec('select 品名 Prod from v_can')
exec('select prod, isnull(sum(allstock*[convert]),0) allstock,isnull(sum(selstock*[convert]),0) selstock,isnull(sum(enstock*[convert]),0) enstock from planprod where cdte='''+@m_dStart1+'''group by prod') exec('select prod, round(isnull(sum(selin*[convert]),0),0) SelinTH from planprod where cdte>=''' +@m_dStart1 +''' and cdte<='''+@m_dEnd1+'''group by prod')
END
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货