66 lines
No EOL
1.5 KiB
Transact-SQL
66 lines
No EOL
1.5 KiB
Transact-SQL
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 |