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

Wersja 365, 4.5 KB (wprowadzona przez marek, 17 years temu)

fixes #90 - poprawiono raport szacowanie sprzedazy

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
16SELECT
17R.[symbol akwizytora] AS Agent,
18R.ReklamaID AS ReklmaID,
19K.kodKlienta as KodKilenta,
20Z.idZamowienia,
21Z.nrZamowienia as NrZamowienia,
22Z.kodAgenta as KodAgenta,
23Z.rokZamowienia as RokZamowienia,
24R.[ID Reklamy] as Reklama,
25Suma = CASE R.wyroznienie
26                 WHEN 0 THEN ROUND(COALESCE(SUM([cena jedn] - [rabat wartoœæ]), 0), 2)
27                 ELSE ROUND(COALESCE(SUM([cena jedn] - [rabat wartoœæ]), 0) + (R.wyroznienie_procent * COALESCE(SUM([cena jedn] - [rabat wartoœæ]), 0)), 2)
28END
29FROM [uka¿e siê w nr] E
30INNER JOIN Reklama R on E.ReklamaID=R.ReklamaID
31INNER JOIN NR N on E.[Nr Wydania]=N.NRW and R.[TYTU£] = N.TYT
32INNER JOIN Zamowienia Z ON R.idZamowienia = Z.idZamowienia
33INNER JOIN Klienci K on K.CustomerID = Z.idKlienta
34WHERE
35E.zafakturowana=0
36AND R.[ZATWIERDZONO DO DRUKU]=1
37AND E.status<>2
38AND Z.rodzajFakturowania=0 -- fakturowanie co miesiac
39AND MONTH(N.Data_W) in (@ms) AND YEAR(N.Data_W) = @rok
40AND ((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)))
41AND Z.rokZamowienia = @rok
42GROUP BY
43R.[symbol akwizytora], R.ReklamaID, K.kodKlienta, Z.idZamowienia, Z.nrZamowienia, Z.kodAgenta, Z.rokZamowienia, R.[ID Reklamy], R.wyroznienie, R.wyroznienie_procent
44
45UNION
46
47SELECT
48R.[symbol akwizytora] AS Agent,
49R.ReklamaID AS ReklmaID,
50K.kodKlienta as KodKilenta,
51Z.idZamowienia,
52Z.nrZamowienia as NrZamowienia,
53Z.kodAgenta as KodAgenta,
54Z.rokZamowienia as RokZamowienia,
55R.[ID Reklamy] as Reklama,
56Suma = CASE R.wyroznienie
57                 WHEN 0 THEN ROUND(COALESCE(SUM([cena jedn] - [rabat wartoœæ]), 0), 2)
58                 ELSE ROUND(COALESCE(SUM([cena jedn] - [rabat wartoœæ]), 0) + (R.wyroznienie_procent * COALESCE(SUM([cena jedn] - [rabat wartoœæ]), 0)), 2)
59END
60FROM [uka¿e siê w nr] E
61INNER JOIN Reklama R on E.ReklamaID=R.ReklamaID
62INNER JOIN NR N on E.[Nr Wydania]=N.NRW and R.[TYTU£] = N.TYT
63INNER JOIN Zamowienia Z ON R.idZamowienia = Z.idZamowienia
64INNER JOIN Klienci K on K.CustomerID = Z.idKlienta
65INNER JOIN ZAMOWIENIA_1EMISJA_bezFK EBezFk ON EBezFk.idZamowienia=Z.idZamowienia
66WHERE
67E.zafakturowana=0
68AND R.[ZATWIERDZONO DO DRUKU]=1
69AND E.status<>2
70AND Z.rodzajFakturowania=1 -- fakturowanie co trzy miesiace
71AND MONTH(N.Data_W) between @ms and (@ms+2)
72AND YEAR(N.Data_W) = @rok
73AND MONTH(EBezFk.data1) = @ms
74AND YEAR(EBezFk.data1) = @rok
75AND ((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)))
76AND Z.rokZamowienia = @rok
77GROUP BY
78R.[symbol akwizytora], R.ReklamaID, K.kodKlienta, Z.idZamowienia, Z.nrZamowienia, Z.kodAgenta, Z.rokZamowienia, R.[ID Reklamy], R.wyroznienie, R.wyroznienie_procent
79
80
81UNION
82
83SELECT
84R.[symbol akwizytora] AS Agent,
85R.ReklamaID AS ReklmaID,
86K.kodKlienta as KodKilenta,
87Z.idZamowienia,
88Z.nrZamowienia as NrZamowienia,
89Z.kodAgenta as KodAgenta,
90Z.rokZamowienia as RokZamowienia,
91R.[ID Reklamy] as Reklama,
92Suma = CASE R.wyroznienie
93                 WHEN 0 THEN ROUND(COALESCE(SUM([cena jedn] - [rabat wartoœæ]), 0), 2)
94                 ELSE ROUND(COALESCE(SUM([cena jedn] - [rabat wartoœæ]), 0) + (R.wyroznienie_procent * COALESCE(SUM([cena jedn] - [rabat wartoœæ]), 0)), 2)
95END
96FROM [uka¿e siê w nr] E
97INNER JOIN Reklama R on E.ReklamaID=R.ReklamaID
98INNER JOIN NR N on E.[Nr Wydania]=N.NRW and R.[TYTU£] = N.TYT
99INNER JOIN Zamowienia Z ON R.idZamowienia = Z.idZamowienia
100INNER JOIN Klienci K on K.CustomerID = Z.idKlienta
101INNER JOIN ZAMOWIENIA_1EMISJA_bezFK EBezFk ON EBezFk.idZamowienia=Z.idZamowienia
102WHERE
103E.zafakturowana=0
104AND R.[ZATWIERDZONO DO DRUKU]=1
105AND E.status<>2
106AND Z.rodzajFakturowania=2 -- fakturowanie wsio co w zamowieniu
107AND MONTH(N.Data_W) >= MONTH(EBezFk.data1)
108AND YEAR(N.Data_W) >= YEAR(EBezFk.data1)
109AND MONTH(EBezFk.data1) = @ms
110AND YEAR(EBezFk.data1) = @rok
111AND ((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)))
112AND Z.rokZamowienia = @rok
113GROUP BY
114R.[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.