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 [UKAŻE SIĘ W NR] ON R.ReklamaID = [UKAŻE SIĘ W NR].ReklamaId INNER JOIN [Lista tytułów] T ON T.Symb=R.[Tytuł] LEFT OUTER JOIN GRZBIETY AS G ON R.GRZBIET = G.ID WHERE [UKAŻE SIĘ W NR].[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 [UKAŻE SIĘ W NR] ON R.ReklamaID = [UKAŻE SIĘ W NR].ReklamaId INNER JOIN [Lista tytułów] T ON T.Symb=R.[Tytuł] LEFT OUTER JOIN REKLAMA_STRONA ON R.ReklamaID = REKLAMA_STRONA.ReklamaId AND [UKAŻE SIĘ W NR].[Nr Wydania] = REKLAMA_STRONA.NR_WYDANIA LEFT OUTER JOIN GRZBIETY AS G ON R.GRZBIET = G.ID LEFT OUTER JOIN Agenci AS A ON R.[SYMBOL AKWIZYTORA] = A.symbol LEFT OUTER JOIN Agencje AS A2 ON A.id_agencji = A2.id_agencji LEFT OUTER JOIN Dzial AS D ON R.ogl_dzial = D.Id LEFT OUTER JOIN Rozdzial AS Roz ON R.ogl_rozdzial = Roz.Id LEFT OUTER JOIN 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