root/trunk/SQL/Reports/SzacowanieSprzedazy.txt @ 951

Wersja 391, 4.6 KB (wprowadzona przez marek, 17 years temu)

fixes #90

Line 
1DECLARE @rok INT
2DECLARE @ms INT
3
4DECLARE @agent nvarchar(100)
5
6SET @rok=2009
7SET @ms=4
8SET @agent='stachura'
9
10DECLARE @Agents TABLE
11(
12        symbol nvarchar(25)
13)
14
15
16IF @agencja='Wszystkie'
17        BEGIN   
18        INSERT INTO @Agents(symbol)
19        SELECT symbol FROM AGENCI WHERE aktywny=1
20        END
21
22
23SELECT
24R.[symbol akwizytora] AS Agent,
25R.ReklamaID AS ReklmaID,
26K.kodKlienta as KodKilenta,
27Z.idZamowienia,
28Z.nrZamowienia as NrZamowienia,
29Z.kodAgenta as KodAgenta,
30Z.rokZamowienia as RokZamowienia,
31R.[ID Reklamy] as Reklama,
32Suma = CASE R.wyroznienie
33                 WHEN 0 THEN ROUND(COALESCE(SUM([cena jedn] - [rabat wartoœæ]), 0), 2)
34                 ELSE ROUND(COALESCE(SUM([cena jedn] - [rabat wartoœæ]), 0) + (R.wyroznienie_procent * COALESCE(SUM([cena jedn] - [rabat wartoœæ]), 0)), 2)
35END
36FROM [uka¿e siê w nr] E
37INNER JOIN Reklama R on E.ReklamaID=R.ReklamaID
38INNER JOIN NR N on E.[Nr Wydania]=N.NRW and R.[TYTU£] = N.TYT
39INNER JOIN Zamowienia Z ON R.idZamowienia = Z.idZamowienia
40INNER JOIN Klienci K on K.CustomerID = Z.idKlienta
41WHERE
42E.zafakturowana=0
43AND R.[ZATWIERDZONO DO DRUKU]=1
44AND E.status<>2
45AND Z.rodzajFakturowania=0 -- fakturowanie co miesiac
46AND MONTH(N.Data_W) in (@ms) AND YEAR(N.Data_W) = @rok
47AND ((R.[symbol akwizytora] in (@agent))  OR (R.[symbol akwizytora] COLLATE SQL_Latin1_General_CP1250_CI_AS in (select symbol COLLATE SQL_Latin1_General_CP1250_CI_AS from @Agents)))
48AND Z.rokZamowienia = @rok
49GROUP BY
50R.[symbol akwizytora], R.ReklamaID, K.kodKlienta, Z.idZamowienia, Z.nrZamowienia, Z.kodAgenta, Z.rokZamowienia, R.[ID Reklamy], R.wyroznienie, R.wyroznienie_procent
51
52UNION
53
54SELECT
55R.[symbol akwizytora] AS Agent,
56R.ReklamaID AS ReklmaID,
57K.kodKlienta as KodKilenta,
58Z.idZamowienia,
59Z.nrZamowienia as NrZamowienia,
60Z.kodAgenta as KodAgenta,
61Z.rokZamowienia as RokZamowienia,
62R.[ID Reklamy] as Reklama,
63Suma = CASE R.wyroznienie
64                 WHEN 0 THEN ROUND(COALESCE(SUM([cena jedn] - [rabat wartoœæ]), 0), 2)
65                 ELSE ROUND(COALESCE(SUM([cena jedn] - [rabat wartoœæ]), 0) + (R.wyroznienie_procent * COALESCE(SUM([cena jedn] - [rabat wartoœæ]), 0)), 2)
66END
67FROM [uka¿e siê w nr] E
68INNER JOIN Reklama R on E.ReklamaID=R.ReklamaID
69INNER JOIN NR N on E.[Nr Wydania]=N.NRW and R.[TYTU£] = N.TYT
70INNER JOIN Zamowienia Z ON R.idZamowienia = Z.idZamowienia
71INNER JOIN Klienci K on K.CustomerID = Z.idKlienta
72INNER JOIN ZAMOWIENIA_1EMISJA_bezFK EBezFk ON EBezFk.idZamowienia=Z.idZamowienia
73WHERE
74E.zafakturowana=0
75AND R.[ZATWIERDZONO DO DRUKU]=1
76AND E.status<>2
77AND Z.rodzajFakturowania=1 -- fakturowanie co trzy miesiace
78AND MONTH(N.Data_W) between @ms and (@ms+2)
79AND YEAR(N.Data_W) = @rok
80AND MONTH(EBezFk.data1) = @ms
81AND YEAR(EBezFk.data1) = @rok
82AND ((R.[symbol akwizytora] in (@agent))  OR (R.[symbol akwizytora] COLLATE SQL_Latin1_General_CP1250_CI_AS in (select symbol COLLATE SQL_Latin1_General_CP1250_CI_AS from @Agents)))
83AND Z.rokZamowienia = @rok
84GROUP BY
85R.[symbol akwizytora], R.ReklamaID, K.kodKlienta, Z.idZamowienia, Z.nrZamowienia, Z.kodAgenta, Z.rokZamowienia, R.[ID Reklamy], R.wyroznienie, R.wyroznienie_procent
86
87
88UNION
89
90SELECT
91R.[symbol akwizytora] AS Agent,
92R.ReklamaID AS ReklmaID,
93K.kodKlienta as KodKilenta,
94Z.idZamowienia,
95Z.nrZamowienia as NrZamowienia,
96Z.kodAgenta as KodAgenta,
97Z.rokZamowienia as RokZamowienia,
98R.[ID Reklamy] as Reklama,
99Suma = CASE R.wyroznienie
100                 WHEN 0 THEN ROUND(COALESCE(SUM([cena jedn] - [rabat wartoœæ]), 0), 2)
101                 ELSE ROUND(COALESCE(SUM([cena jedn] - [rabat wartoœæ]), 0) + (R.wyroznienie_procent * COALESCE(SUM([cena jedn] - [rabat wartoœæ]), 0)), 2)
102END
103FROM [uka¿e siê w nr] E
104INNER JOIN Reklama R on E.ReklamaID=R.ReklamaID
105INNER JOIN NR N on E.[Nr Wydania]=N.NRW and R.[TYTU£] = N.TYT
106INNER JOIN Zamowienia Z ON R.idZamowienia = Z.idZamowienia
107INNER JOIN Klienci K on K.CustomerID = Z.idKlienta
108INNER JOIN ZAMOWIENIA_1EMISJA_bezFK EBezFk ON EBezFk.idZamowienia=Z.idZamowienia
109WHERE
110E.zafakturowana=0
111AND R.[ZATWIERDZONO DO DRUKU]=1
112AND E.status<>2
113AND Z.rodzajFakturowania=2 -- fakturowanie wsio co w zamowieniu
114AND MONTH(N.Data_W) >= MONTH(EBezFk.data1)
115AND YEAR(N.Data_W) >= YEAR(EBezFk.data1)
116AND MONTH(EBezFk.data1) = @ms
117AND YEAR(EBezFk.data1) = @rok
118AND ((R.[symbol akwizytora] in (@agent))  OR (R.[symbol akwizytora] COLLATE SQL_Latin1_General_CP1250_CI_AS in (select symbol COLLATE SQL_Latin1_General_CP1250_CI_AS from @Agents)))
119AND Z.rokZamowienia = @rok
120GROUP BY
121R.[symbol akwizytora], R.ReklamaID, K.kodKlienta, Z.idZamowienia, Z.nrZamowienia, Z.kodAgenta, Z.rokZamowienia, R.[ID Reklamy], R.wyroznienie, R.wyroznienie_procent
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.