root/branches/Abonament/SQL/Functions/getProcentWykonaniaPlanu.txt @ 754

Wersja 754, 1.8 KB (wprowadzona przez marek, 17 years temu)

merged with latest trunk

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 FUNCTION [dbo].[getProcentWykonaniaPlanu]
13(
14        -- Add the parameters for the function here
15        @idAgencji int,
16        @rok int,
17        @miesiac int
18)
19RETURNS decimal(9,4)
20AS
21BEGIN
22DECLARE @prowizja DECIMAL(9,4)
23
24SELECT @prowizja = ROUND(AVG(procent), 4) --as Procent
25FROM
26(
27SELECT PL.Id_agencji, PL.AGENCJA, PL.ROK, PL.MS, PL.PLANOWANY_BUDZET_AGENCJI, PL.WYKONANY_BUDZET_AGENCJI, dbo.BUDZET_BIUR.BUDZET AS
28PLAN_BIURA, CONVERT (datetime, CONVERT (nvarchar, PL.ROK) + '-' + CONVERT (nvarchar, PL.MS) + '-1') AS data,
291.0 * PL.WYKONANY_BUDZET_AGENCJI / dbo.BUDZET_BIUR.BUDZET AS procent, PL.Unia FROM (SELECT dbo.Agencje.Unia ,
30 dbo.AGENCJE.Symbol AS AGENCJA , dbo.[PLAN].ROK , dbo.[PLAN].MS , SUM(dbo.[PLAN].BUDZET) AS PLANOWANY_BUDZET_AGENCJI ,
31SUM(dbo.[PLAN].W_BUDZET) AS WYKONANY_BUDZET_AGENCJI , dbo.AGENCJE.Id_agencji
32FROM dbo.AGENCI
33INNER JOIN dbo.AGENCJE ON dbo.AGENCI.ID_AGENCJI = dbo.AGENCJE.Id_agencji
34INNER JOIN dbo.[PLAN] ON dbo.AGENCI.Symbol = dbo.[PLAN].SYMBOL WHERE (Abs(dbo.AGENCJE.aktywna) = 1)
35GROUP BY dbo.agencje.unia , dbo.AGENCJE.Symbol , dbo.[PLAN].ROK , dbo.[PLAN].MS , dbo.AGENCJE.Id_agencji) PL
36LEFT 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
37WHERE dbo.BUDZET_BIUR.BUDZET <> 0 ) W1
38WHERE ROK=@rok AND MS=@miesiac AND Id_Agencji = @idAgencji
39GROUP BY UNIA, Id_Agencji, AGENCJA,ROK,CONVERT(INTEGER,(1.0+datepart(quarter,data)))/2, datepart(quarter,data), MS
40
41RETURN @prowizja
42
43END
44GO
45
46SET ANSI_NULLS OFF
47GO
48SET QUOTED_IDENTIFIER OFF
49GO
50
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.