SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF OBJECT_ID('[dbo].[sp_GetDokumentumTanuloOrarendOsztalyonkent]') IS NOT NULL BEGIN DROP PROCEDURE [dbo].sp_GetDokumentumTanuloOrarendOsztalyonkent END GO CREATE PROCEDURE [dbo].sp_GetDokumentumTanuloOrarendOsztalyonkent @tanevId INT, @osztalyId INT, @aktivTanevId INT, @isEgyebFoglalkozasok BIT, @pTanuloId INT = NULL AS BEGIN SET NOCOUNT ON; DECLARE @tabla TABLE (TanuloId INT, Ora INT, HetirendId INT, Hetfo NVARCHAR(MAX), Kedd NVARCHAR(MAX), Szerda NVARCHAR(MAX), Csutortok NVARCHAR(MAX), Pentek NVARCHAR(MAX), Szombat NVARCHAR(MAX), Hetirend NVARCHAR(MAX), TanuloNev NVARCHAR(MAX)) SELECT TanuloId ,C_NYOMTATASINEV TanuloNev INTO #Tanulok FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') Tanulok INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.Id = Tanulok.TanuloId WHERE (@pTanuloId IS NULL OR @pTanuloId = TanuloId) DECLARE kurzor CURSOR FOR SELECT TanuloId FROM #Tanulok DECLARE @tanuloId INT OPEN kurzor FETCH NEXT FROM kurzor INTO @tanuloId WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO @tabla EXEC sp_GetDokumentumTanuloOrarend @tanevID, @tanuloId, @aktivTanevId, @isEgyebFoglalkozasok FETCH NEXT FROM kurzor INTO @tanuloId END CLOSE kurzor DEALLOCATE kurzor SELECT TanuloId ,TanuloNev ,Hetirend FROM #Tanulok Tanulok CROSS JOIN (SELECT DISTINCT Hetirend FROM @tabla) Hetirend (Hetirend) ORDER BY Hetirend SELECT OsztalyokOrarendje.* FROM @tabla OsztalyokOrarendje ORDER BY Ora END GO