Ticket #195: 2_sp_GetListaReklamNaWydanie.txt

Plik 2_sp_GetListaReklamNaWydanie.txt, 3.0 KB (dodany przez marek, 16 years temu)
xx
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_GetListaReklamNaWydanie]
13        -- Add the parameters for the stored procedure here
14        @nrwydania INT,
15        @tytul INT,
16        @dzial VARCHAR(2000) = NULL,
17        @agencja INT = NULL,
18        @agent INT = NULL,
19        @grzbiet VARCHAR(2000) = NULL
20       
21AS
22BEGIN
23        -- SET NOCOUNT ON added to prevent extra result sets from
24        -- interfering with SELECT statements.
25        SET NOCOUNT ON;
26
27        DECLARE @dzialTable TABLE
28        (
29                Id int
30        )
31
32        IF @dzial='0'
33                SET @dzial=NULL
34
35        DECLARE @wszystkieDzialy bit
36        SET @wszystkieDzialy=0
37
38        IF @dzial IS NOT NULL
39        BEGIN
40                INSERT INTO @dzialTable
41                SELECT * FROM [BAZA_REKLAM].[dbo].[SplitAsTable] (@dzial, ',')
42        END
43
44        IF (SELECT Count(Id) FROM @dzialTable) > 0
45        SET @wszystkieDzialy=1
46
47        DECLARE @grzbietTable TABLE
48        (
49                Id int
50        )
51
52        IF @grzbiet='0' OR @grzbiet IS NULL
53                SET @grzbiet=NULL
54
55        IF @dzial IS NOT NULL
56        BEGIN
57                INSERT INTO @grzbietTable
58                SELECT * FROM [BAZA_REKLAM].[dbo].[SplitAsTable] (@grzbiet, ',')
59        END
60
61    -- Insert statements for procedure here
62        SELECT R.ReklamaID,
63        R.TYTU£,
64        R.[ID REKLAMY],
65        R.SZER,
66        R.WYS,
67        R.KOLOR,
68        R.[NICK NAME],
69        R.MOD_TYP,
70        R.RABAT,
71        R.STRONA AS lokalizacja,
72        lokalizacja1=L.Text,
73        U.[Nr Wydania] AS NR, R.[ZATWIERDZONO DO DRUKU],
74        R.GRZBIET,
75        dbo.REKLAMA_STRONA.STRONA,
76        A.NazwaKrotka AS Agencja,
77        R.[SYMBOL AKWIZYTORA],
78        R.KROTNOŒÆ,
79        R.NETTO,
80        G.Nazwa AS nazwaGrzbietu,
81        A2.ID_AGENTA,
82        R.[CENA JEDN],
83        R.[RABAT WARTOŒÆ],
84        U.netto AS nettoZEmisji,
85        U.zafakturowana,
86        D.Name AS Dzial,
87        Roz.Name AS Rozdzial
88               
89        FROM dbo.AGENCI AS A2
90        LEFT OUTER JOIN dbo.AGENCJE AS A ON A.Id_agencji = A2.ID_AGENCJI
91        INNER JOIN dbo.REKLAMA AS R ON A2.Symbol = R.[SYMBOL AKWIZYTORA]
92        INNER JOIN dbo.[UKA¯E SIÊ W NR] AS U ON R.ReklamaID = U.ReklamaId
93        LEFT OUTER JOIN dbo.REKLAMA_STRONA ON R.ReklamaID = dbo.REKLAMA_STRONA.ReklamaId AND U.[Nr Wydania] = dbo.REKLAMA_STRONA.NR_WYDANIA
94        LEFT OUTER JOIN dbo.GRZBIETY AS G ON R.GRZBIET = G.ID
95        LEFT OUTER JOIN dbo.[LISTA TYTU£ÓW] AS T ON R.TYTU£ = T.SYMB
96        LEFT OUTER JOIN dbo.ReklamaLokalizacja AS L ON L.ID = R.AdLocationId
97        LEFT OUTER JOIN dbo.Dzial AS D ON U.DzialId = D.Id
98        LEFT OUTER JOIN dbo.Rozdzial AS Roz ON U.RozdzialId = Roz.Id
99        WHERE
100        (R.[ZATWIERDZONO DO DRUKU] = 1)
101        AND (U.[Nr Wydania] = @nrwydania)
102        AND (U.status <> 2)
103        AND (T.id = @tytul)
104        AND
105        (
106        (@agencja IS NULL AND @agent IS NULL)
107        OR
108        (@agencja IS NULL AND A2.ID_AGENTA = @agent)
109        OR
110        (A.Id_agencji = @agencja AND @agent IS NULL)
111        OR
112        (A.Id_agencji = @agencja  AND A2.ID_AGENTA = @agent)
113        )
114        AND
115        (@wszystkieDzialy = 0 OR R.ogl_dzial IN (SELECT Id FROM @dzialTable) OR R.ogl_dzial IS NULL)
116        AND
117        (R.GRZBIET IN (SELECT Id FROM @grzbietTable))
118
119        ORDER BY R.[ID REKLAMY]
120
121
122END
123GO
124
125SET ANSI_NULLS OFF
126GO
127SET QUOTED_IDENTIFIER OFF
128GO
129