我有instanse测试1和测试2两个存储过程,并使用相同的参数X.参加另一个存储过程2的存储过程
X是一部分的,如果在这两个存储过程的声明,基本上它告诉选择语句选择的过程。 (这应该不重要,因为它是一个参数,但我不知道)
我想要test1和test2加入列名称,因为他们都将有列名称,我希望他们并排链接没有一个在另一个之下,这是可能的,以及如何
基本上,我想加入这2存储过程在另一个存储过程,我的asp.net程序将调用。
这是存储过程(sp_current)
@mode varchar(20)
AS
SET NOCOUNT ON
Declare @Booked Int
Set @Booked = CONVERT(int,DateAdd(year, (year(getdate())) - Year(getdate() + 1),
DateAdd(day, DateDiff(day, 1, getdate()), 1)))
If @mode = 'Sales'
Select
Division,
SDESCR,
DYYYY,
Sum(Case When Booked <= @Booked Then NetAmount End) currentNetSales,
Sum(Case When Booked <= @Booked Then PARTY End) AS currentPAX
From dbo.B101BookingsDetails
Where DYYYY = (year(getdate()))
Group By SDESCR, DYYYY, Division
Order By Division, SDESCR, DYYYY
else if @mode = 'netsales'
Select Division,
SDESCR,
DYYYY,
Sum(Case When Booked <= @Booked Then NetAmount End) currentNetSales,
Sum(Case When Booked <= @Booked Then PARTY End) AS currentPAX
From dbo.B101BookingsDetails
Where DYYYY = (year(getdate()))
Group By SDESCR, DYYYY, Division
Order By Division, SDESCR, DYYYY
Else if @mode = 'Inssales'
Select Division,
SDESCR,
DYYYY,
Sum(Case When Booked <= @Booked Then InsAmount End) currentInsSales,
Sum(Case When Booked <= @Booked Then PARTY End) AS currentPAX
From dbo.B101BookingsDetails
Where DYYYY = (year(getdate()))
Group By SDESCR, DYYYY, Division
Order By Division, SDESCR, DYYYY
Else if @mode = 'CXsales'
Select Division,
SDESCR,
DYYYY,
Sum(Case When Booked <= @Booked Then CancelRevenue End) currentCXSales,
Sum(Case When Booked <= @Booked Then PARTY End) AS currentPAX
From dbo.B101BookingsDetails
Where DYYYY = (year(getdate()))
Group By SDESCR, DYYYY, Division
Order By Division, SDESCR, DYYYY
Else if @mode = 'othersales'
Select Division,
SDESCR,
DYYYY,
Sum(Case When Booked <= @Booked Then OtherAmount End) currentOtherSales,
Sum(Case When Booked <= @Booked Then PARTY End) AS currentPAX
From dbo.B101BookingsDetails
Where DYYYY = (year(getdate()))
Group By SDESCR, DYYYY, Division
Order By Division, SDESCR, DYYYY
Else if @mode = 'cxvalue'
Select Division,
SDESCR,
DYYYY,
Sum(Case When Booked <= @Booked Then CXVALUE End) currentCXValue,
Sum(Case When Booked <= @Booked Then PARTY End) AS currentPAX
From dbo.B101BookingsDetails
Where DYYYY = (year(getdate()))
Group By SDESCR, DYYYY, Division
Order By Division, SDESCR, DYYYY
和 这是sp_compare
@mode varchar(20),
@YearToGet int
AS
SET NOCOUNT ON
Declare @Booked Int
Set @Booked = CONVERT(int,DateAdd(year, @YearToGet - Year(getdate() + 1),
DateAdd(day, DateDiff(day, 1, getdate()), 1)))
If @mode = 'Sales'
Select
Division,
SDESCR,
DYYYY,
Sum(Case When Booked <= @Booked Then NetAmount End) ASofNetSales,
SUM(NetAmount) AS YENetSales,
Sum(Case When Booked <= @Booked Then PARTY End) AS ASofPAX,
SUM(PARTY) AS YEPAX
From dbo.B101BookingsDetails
Where DYYYY = @YearToGet
Group By SDESCR, DYYYY, Division
Order By Division, SDESCR, DYYYY
else if @mode = 'netsales'
Select Division,
SDESCR,
DYYYY,
Sum(Case When Booked <= @Booked Then NetAmount End) ASofNetSales,
SUM(NetAmount) AS YENetSales,
Sum(Case When Booked <= @Booked Then PARTY End) AS ASofPAX,
SUM(PARTY) AS YEPAX
From dbo.B101BookingsDetails
Where DYYYY = @YearToGet
Group By SDESCR, DYYYY, Division
Order By Division, SDESCR, DYYYY
Else if @mode = 'Inssales'
Select Division,
SDESCR,
DYYYY,
Sum(Case When Booked <= @Booked Then InsAmount End) ASofInsSales,
SUM(InsAmount) AS YEInsSales,
Sum(Case When Booked <= @Booked Then PARTY End) AS ASofPAX,
SUM(PARTY) AS YEPAX
From dbo.B101BookingsDetails
Where DYYYY = @YearToGet
Group By SDESCR, DYYYY, Division
Order By Division, SDESCR, DYYYY
Else if @mode = 'CXsales'
Select Division,
SDESCR,
DYYYY,
Sum(Case When Booked <= @Booked Then CancelRevenue End) ASofCXSales,
SUM(CancelRevenue) AS YECXSales,
Sum(Case When Booked <= @Booked Then PARTY End) AS ASofPAX,
SUM(PARTY) AS YEPAX
From dbo.B101BookingsDetails
Where DYYYY = @YearToGet
Group By SDESCR, DYYYY, Division
Order By Division, SDESCR, DYYYY
Else if @mode = 'othersales'
Select Division,
SDESCR,
DYYYY,
Sum(Case When Booked <= @Booked Then OtherAmount End) ASofOtherSales,
SUM(OtherAmount) AS YEOtherSales,
Sum(Case When Booked <= @Booked Then PARTY End) AS ASofPAX,
SUM(PARTY) AS YEPAX
From dbo.B101BookingsDetails
Where DYYYY = @YearToGet
Group By SDESCR, DYYYY, Division
Order By Division, SDESCR, DYYYY
Else if @mode = 'cxvalue'
Select Division,
SDESCR,
DYYYY,
Sum(Case When Booked <= @Booked Then CXVALUE End) ASofCXValue,
SUM(CXVALUE) AS YECXValue,
Sum(Case When Booked <= @Booked Then PARTY End) AS ASofPAX,
SUM(PARTY) AS YEPAX
From dbo.B101BookingsDetails
Where DYYYY = @YearToGet
Group By SDESCR, DYYYY, Division
Order By Division, SDESCR, DYYYY
我不是想让它一个过程或以某种方式加入他们并排在一个单独的程序
让他们表值函数,而不是存储过程,那么你可以加入他们。可能效率很低,特别是因为它们似乎都使用同一张表。 – 2011-01-05 15:38:07