SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

DROP PROCEDURE IF EXISTS sp_GetDokumentumTanuloOrarendOsztalyonkent
GO

CREATE PROCEDURE sp_GetDokumentumTanuloOrarendOsztalyonkent
  @tanevId				INT,
  @osztalyId			INT,
  @aktivTanevId			INT,
  @isEgyebFoglalkozasok	BIT,
  @pTanuloId			INT = NULL,
  @orarendErvenyessegiDatum DATE,
  @feladatKategoriaId 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, @orarendErvenyessegiDatum, @feladatKategoriaId

      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