root/trunk/SQL/StoredProcedures/sp_GetProcentProwizjiByAgencja.txt @ 747

Wersja 539, 1.9 KB (wprowadzona przez marek, 17 years temu)

re #150

Line 
1
2SET ANSI_NULLS ON
3GO
4SET QUOTED_IDENTIFIER ON
5GO
6
7-- =============================================
8-- Author:              <Author,,Name>
9-- Create date: <Create Date,,>
10-- Description: <Description,,>
11-- =============================================
12ALTER PROCEDURE [dbo].[sp_GetProcentProwizjiByAgencja]
13        -- Add the parameters for the stored procedure here
14        @idAgencji int,
15        @rok int,
16        @miesiac int,
17        @procentProwizji decimal(9,4) OUTPUT
18AS
19BEGIN
20        -- SET NOCOUNT ON added to prevent extra result sets from
21        -- interfering with SELECT statements.
22
23SELECT @procentProwizji = ROUND(AVG(procent / 2), 4) --as Procent
24FROM
25(
26SELECT PL.Id_agencji, PL.AGENCJA, PL.ROK, PL.MS, PL.PLANOWANY_BUDZET_AGENCJI, PL.WYKONANY_BUDZET_AGENCJI, dbo.BUDZET_BIUR.BUDZET AS
27PLAN_BIURA, CONVERT (datetime, CONVERT (nvarchar, PL.ROK) + '-' + CONVERT (nvarchar, PL.MS) + '-1') AS data,
281.0 * PL.WYKONANY_BUDZET_AGENCJI / dbo.BUDZET_BIUR.BUDZET AS procent, PL.Unia FROM (SELECT dbo.Agencje.Unia ,
29 dbo.AGENCJE.Symbol AS AGENCJA , dbo.[PLAN].ROK , dbo.[PLAN].MS , SUM(dbo.[PLAN].BUDZET) AS PLANOWANY_BUDZET_AGENCJI ,
30SUM(dbo.[PLAN].W_BUDZET) AS WYKONANY_BUDZET_AGENCJI , dbo.AGENCJE.Id_agencji
31FROM dbo.AGENCI
32INNER JOIN dbo.AGENCJE ON dbo.AGENCI.ID_AGENCJI = dbo.AGENCJE.Id_agencji
33INNER JOIN dbo.[PLAN] ON dbo.AGENCI.Symbol = dbo.[PLAN].SYMBOL WHERE (Abs(dbo.AGENCJE.aktywna) = 1)
34GROUP BY dbo.agencje.unia , dbo.AGENCJE.Symbol , dbo.[PLAN].ROK , dbo.[PLAN].MS , dbo.AGENCJE.Id_agencji) PL
35LEFT OUTER JOIN dbo.BUDZET_BIUR ON PL.Id_agencji = dbo.BUDZET_BIUR.ID_BIURA AND PL.ROK = dbo.BUDZET_BIUR.ROK AND PL.MS = dbo.BUDZET_BIUR.MS
36WHERE dbo.BUDZET_BIUR.BUDZET <> 0 ) W1
37WHERE ROK=@rok AND MS=@miesiac AND Id_Agencji = @idAgencji
38GROUP BY UNIA, Id_Agencji, AGENCJA,ROK,CONVERT(INTEGER,(1.0+datepart(quarter,data)))/2, datepart(quarter,data), MS
39
40RETURN
41END
42GO
43
44SET ANSI_NULLS OFF
45GO
46SET QUOTED_IDENTIFIER OFF
47GO
48
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.