DECLARE @NastepnyNumer TABLE ( ReklamaId INT, Reklama varchar(50), StaryGrzbiet varchar(10) ) INSERT INTO @NastepnyNumer SELECT R.ReklamaId, R.[Id reklamy] AS Reklama, dbo.getSectionForDTP (T.Id, R.grzbiet, R.ogl_dzial) AS StaryGrzbiet FROM REKLAMA AS R INNER JOIN dbo.[UKAŻE SIĘ W NR] U ON R.ReklamaID = U.ReklamaId INNER JOIN dbo.[Lista tytułów] T ON T.Symb=R.[Tytuł] LEFT OUTER JOIN dbo.GRZBIETY AS G ON R.GRZBIET = G.ID WHERE U.[Nr Wydania] = @nr2 AND R.tytuł =@tytul AND R.[zatwierdzono do druku]=1 SELECT * FROM ( SELECT R.reklamaId, dbo.getSectionForDTP (T.Id,R.grzbiet,R.ogl_dzial) AS staryGrzbiet, [UKAŻE SIĘ W NR].[Nr Wydania] as nrwyd1, G.[nazwa] as grzbiet1, r.[id reklamy] as Reklama, R.strona AS Uwagi, REKLAMA_STRONA.Strona, R.[zatwierdzono do druku], D.Name AS Dzial, Roz.Name AS Rozdzial, Lok.Text AS Lokalizacja, NastepnyNr.Reklama AS NastepnaReklama, NastepnyNr.StaryGrzbiet AS NastepnyGrzbiet FROM REKLAMA AS R INNER JOIN dbo.[UKAŻE SIĘ W NR] U ON R.ReklamaID = U.ReklamaId INNER JOIN dbo.[Lista tytułów] T ON T.Symb=R.[Tytuł] LEFT OUTER JOIN dbo.REKLAMA_STRONA RS ON R.ReklamaID = RS.ReklamaId AND U.[Nr Wydania] = RS.NR_WYDANIA LEFT OUTER JOIN dbo.GRZBIETY AS G ON R.GRZBIET = G.ID LEFT OUTER JOIN dbo.Agenci AS A ON R.[SYMBOL AKWIZYTORA] = A.symbol LEFT OUTER JOIN dbo.Agencje AS A2 ON A.id_agencji = A2.id_agencji LEFT OUTER JOIN dbo.Dzial AS D ON U.DzialId = D.Id LEFT OUTER JOIN dbo.Rozdzial AS Roz ON U.RozdzialId = Roz.Id LEFT OUTER JOIN dbo.ReklamaLokalizacja AS Lok ON R.AdLocationId = Lok.Id LEFT OUTER JOIN @NastepnyNumer AS NastepnyNr ON SUBSTRING(NastepnyNr.Reklama,1,7) COLLATE SQL_Latin1_General_CP1250_CI_AS = SUBSTRING(R.[Id reklamy],1,7) COLLATE SQL_Latin1_General_CP1250_CI_AS WHERE [UKAŻE SIĘ W NR].[Nr Wydania] = @nr1 AND r.tytuł =@tytul AND REKLAMA_STRONA.strona is not null ) Reklama WHERE StaryGrzbiet IN (@grzbiet) AND (NastepnaReklama IS NULL OR (NastepnaReklama IS NOT NULL AND StaryGrzbiet<>NastepnyGrzbiet)) ORDER BY Reklama.Strona