Index: trunk/SQL/Functions/SplitAsScalar.txt
===================================================================
--- trunk/SQL/Functions/SplitAsScalar.txt (revision 364)
+++ trunk/SQL/Functions/SplitAsScalar.txt (revision 364)
@@ -0,0 +1,81 @@
+
+SET ANSI_NULLS ON
+GO
+SET QUOTED_IDENTIFIER ON
+GO
+
+--================================================
+--  Create Inline Table-valued Function template
+--================================================
+
+ALTER FUNCTION [dbo].[SplitAsScalar]
+(@in_del_field      VARCHAR(4000),
+ @in_pos            INT,
+ @in_del            VARCHAR(4000) = '/')
+RETURNS VARCHAR(4000)
+AS
+BEGIN
+ /**
+ * <hr>
+ * SPLIT Scalar User-Defined function JG 1/13/2006
+ * <hr>
+ * The split function will take a delimted string value
+ * and return a value from a location in the string.
+ * <PRE>
+ * FOR EXAMPLE...
+ *
+ * print dbo.split('franklin,delano,roosevelt',1,',')
+ * print dbo.split('franklin,delano,roosevelt',2,',')
+ * print dbo.split('franklin,delano,roosevelt',3,',')
+ * GO
+ *
+ * THIS RETURNS...
+ *
+ * franklin
+ * delano
+ * roosevelt
+ *
+ * </PRE>
+ * @param @in_del_field      Delimited Text string passed to the function
+ * @param @in_pos            Position of value to return
+ * @param @in_del            Delimiter.  DEFAULT value is ","
+ * @headcom
+ */
+  DECLARE @retVal       VARCHAR(4000)
+  DECLARE @varFldDel    VARCHAR(4000) SET @varFldDel = @in_del_field + @in_del
+  DECLARE @i            int SET @i = 0
+  DECLARE @varExit      VARCHAR(5) SET @varExit = 'FALSE'
+  DECLARE @intLastLen   int SET @intLastLen = 1
+ --
+  IF @in_pos < 1
+    SET @retVal = 'Not Valid Option, 1 is the first occurance of an item'
+  ElSE
+   --> loop through till the correct column is found
+    WHILE @varExit = 'FALSE'
+      BEGIN
+        SET @i = @i + 1
+        If @i > 1
+          BEGIN
+            SET @varFldDel = SUBSTRING(@varFldDel,@intLastLen,8000)
+          END
+        If CHARINDEX(@in_del,@varFldDel) < 1
+        BEGIN
+          RETURN NULL
+        END
+       --
+        SET @retVal = SUBSTRING(@varFldDel,1,(CHARINDEX(@in_del,@varFldDel)-1))
+        SET @intLastLen = LEN(@retVal) + 2
+        If @i = @in_pos
+          BREAK
+      END
+ --
+  RETURN @retVal
+ --
+END
+GO
+
+SET ANSI_NULLS OFF
+GO
+SET QUOTED_IDENTIFIER OFF
+GO
+
Index: trunk/SQL/Functions/SplitAsTable.txt
===================================================================
--- trunk/SQL/Functions/SplitAsTable.txt (revision 364)
+++ trunk/SQL/Functions/SplitAsTable.txt (revision 364)
@@ -0,0 +1,48 @@
+﻿if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SplitAsTable]') and xtype in (N'FN', N'IF', N'TF'))
+drop function [dbo].[SplitAsTable]
+GO
+
+SET QUOTED_IDENTIFIER OFF 
+GO
+SET ANSI_NULLS OFF 
+GO
+
+
+CREATE FUNCTION dbo.SplitAsTable(@String nvarchar(4000), @Delimiter char(1))
+RETURNS @Results TABLE (Items nvarchar(4000))
+AS
+
+
+    BEGIN
+    DECLARE @INDEX INT
+    DECLARE @SLICE nvarchar(4000)
+    -- HAVE TO SET TO 1 SO IT DOESNT EQUAL Z
+    --     ERO FIRST TIME IN LOOP
+    SELECT @INDEX = 1
+    WHILE @INDEX !=0
+
+
+        BEGIN      
+              -- GET THE INDEX OF THE FIRST OCCURENCE OF THE SPLIT CHARACTER
+              SELECT @INDEX = CHARINDEX(@Delimiter,@STRING)
+              -- NOW PUSH EVERYTHING TO THE LEFT OF IT INTO THE SLICE VARIABLE
+              IF @INDEX !=0
+                    SELECT @SLICE = LEFT(@STRING,@INDEX - 1)
+              ELSE
+                    SELECT @SLICE = @STRING
+              -- PUT THE ITEM INTO THE RESULTS SET
+              INSERT INTO @Results(Items) VALUES(@SLICE)
+              -- CHOP THE ITEM REMOVED OFF THE MAIN STRING
+              SELECT @STRING = RIGHT(@STRING,LEN(@STRING) - @INDEX)
+              -- BREAK OUT IF WE ARE DONE
+              IF LEN(@STRING) = 0 BREAK
+    END
+    RETURN
+END
+
+GO
+SET QUOTED_IDENTIFIER OFF 
+GO
+SET ANSI_NULLS ON 
+GO
+
Index: trunk/SQL/Reports/RozliczenieProwizjiZaReklame2009.txt
===================================================================
--- trunk/SQL/Reports/RozliczenieProwizjiZaReklame2009.txt (revision 364)
+++ trunk/SQL/Reports/RozliczenieProwizjiZaReklame2009.txt (revision 364)
@@ -0,0 +1,18 @@
+
+SELECT 
+W.Agencja, 
+LOWER(W.Symbol) AS Agent, 
+A.[Imiê] AS Imie,
+A.Nazwisko,
+COUNT(W.ID_FAKTURY) AS IloscFaktur, 
+SUM(W.Netto) AS Netto, 
+ROUND(SUM(W.Netto * W.procentProwizji), 2) AS Prowizja,
+A.Pracownicy
+FROM         WplywyByTytul W
+LEFT OUTER JOIN AGENCI A ON A.Symbol=W.Symbol
+WHERE     (YEAR(W.dataWplaty) = @rok) AND (MONTH(W.dataWplaty) = @miesiac) 
+AND (@pracownicy IS NULL OR A.Pracownicy = @pracownicy) 
+AND (@prawa_agent IS NULL OR W.Symbol=@prawa_agent)
+
+GROUP BY W.Agencja, W.Symbol, A.[Imiê], A.Nazwisko, A.Pracownicy
+ORDER BY A.Nazwisko
