SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[sp_adMotoRaportWyroznienia] @rok int, @miesiac int AS DECLARE @prowizjaPoz DECIMAL(9,4) DECLARE @prowizjaKat DECIMAL(9,4) exec sp_GetProcentProwizjiByAgencja 6, @rok, @miesiac, @prowizjaPoz OUTPUT exec sp_GetProcentProwizjiByAgencja 4, @rok, @miesiac, @prowizjaKat OUTPUT DECLARE @Wplywy TABLE ( IdFaktury INT, NumerFaktury INT, Agent nvarchar(100), SymbolFaktury nvarchar(100), DataWplaty DATETIME, Wyroznienie MONEY, DataFaktury DATETIME, KwotaProwizji MONEY, Prowizja MONEY, Agencja nvarchar(100) ) DECLARE @Sprzedaz TABLE ( IdFaktury INT, NumerFaktury INT, Agent nvarchar(100), SymbolFaktury nvarchar(100), DataWplaty DATETIME, Wyroznienie MONEY, DataFaktury DATETIME, KwotaProwizji MONEY, Prowizja MONEY, Agencja nvarchar(100) ) -- wplywy z wyroznien INSERT INTO @Wplywy SELECT ID_Faktury AS IdFaktury, NumerFaktury, Symbol AS Agent, Nr_Fk AS SymbolFaktury, DataWplaty, ROUND((Netto * 0.15)/1.15,2) AS Wyroznienie, DATA_WYSTAWIENIA AS DataFaktury, ROUND(((Netto * 0.15)/1.15)*procentProwizji, 2) AS KwotaProwizji, procentProwizji AS Prowizja, Agencja FROM WplywyByTytul_Wyroznienia WHERE YEAR(dataWplaty) = @rok AND MONTH(dataWplaty) = @miesiac ORDER BY Symbol, NumerFaktury UPDATE @Wplywy SET Prowizja = @prowizjaPoz, KwotaProwizji=(@prowizjaPoz*(Wyroznienie * 0.15)/1.15), Wyroznienie = NULL WHERE Agencja='GS O/POZNAŃ' UPDATE @Wplywy SET Prowizja = @prowizjaKat, KwotaProwizji=(@prowizjaKat*(Wyroznienie * 0.15)/1.15), Wyroznienie = NULL WHERE Agencja='GS O/KATOWICE' UPDATE @Wplywy SET Wyroznienie = NULL WHERE MONTH(DataFaktury)<@miesiac INSERT INTO @Sprzedaz -- sprzedaz reklam z wyroznieniem SELECT IdFaktury, NumerFaktury, Agent, SymbolFaktury, DataWplaty, SUM(Wyroznienie) AS Wyroznienie, DataFaktury, NULL AS KwotaProwizji, NULL AS Prowizja, Agencja FROM ReklamyWyroznienie WHERE Rok=@rok AND Miesiac=@miesiac GROUP BY IdFaktury, Rok, Miesiac, Agencja, Agent, NumerFaktury, SymbolFaktury, DataFaktury, DataWplaty SELECT * FROM @Wplywy UNION SELECT * FROM @Sprzedaz WHERE IdFaktury NOT IN (SELECT IdFaktury FROM @Wplywy) ORDER BY DataWplaty, Agent, NumerFaktury, Prowizja GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO