Files
kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20190715151638_AL_997/sp_GetOsztalyokEvesOraszama.sql
2024-03-13 00:33:46 +01:00

68 lines
1.9 KiB
Transact-SQL

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DROP PROCEDURE IF EXISTS sp_GetOsztalyokEvesOraszama
GO
CREATE PROCEDURE sp_GetOsztalyokEvesOraszama
@tanevID int,
@tanitasiHetekSzamaVegzos INT = 32,
@tanitasiHetekSzamaNemVegzos INT = 36,
@isAltantargyBeszamitasa BIT
AS
BEGIN
declare @osztalyok TABLE (
OsztalyId INT
,OsztalyNev NVARCHAR(255)
)
INSERT INTO @osztalyok SELECT * FROM fnGetDokumentumOsztalyokTanevenkent(@tanevID) ORDER BY OsztalyId ASC
SELECT * FROM @osztalyok
DECLARE kurzor CURSOR FOR
SELECT OsztalyId, OsztalyNev FROM @osztalyok
LEFT JOIN (
SELECT
COUNT(T_TANULOCSOPORT_OSSZES.C_TANULOID) tanuloCount,
T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID
FROM
T_TANULOCSOPORT_OSSZES
INNER JOIN
T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
WHERE
T_TANULOCSOPORT_OSSZES.TOROLT = 'F' AND
T_TANULOCSOPORT_OSSZES.C_TANEVID = @tanevID
GROUP BY T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID
) tanuloSzam ON tanuloSzam.C_OSZTALYCSOPORTID = OsztalyId
WHERE
tanuloCount > 0
ORDER BY OsztalyId
DECLARE @OsztalyId int, @OsztalyNev nvarchar(255)
OPEN kurzor
FETCH NEXT FROM kurzor INTO @OsztalyId, @OsztalyNev
WHILE @@FETCH_STATUS = 0 BEGIN
SELECT DISTINCT
tanulo.C_NYOMTATASINEV TanuloNev
,tantargy.C_NEV TantargyNev
,oraszamok.Oraszam EvesOraszam
,@OsztalyNev AS OsztalyNev
,@OsztalyId AS OsztalyId
FROM fnGetDokumentumTanulokEvesOraszamaiOsztalyonkent(@tanevID, @OsztalyId, @tanitasiHetekSzamaVegzos, @tanitasiHetekSzamaNemVegzos, @isAltantargyBeszamitasa) oraszamok
INNER JOIN T_FELHASZNALO_OSSZES tanulo ON tanulo.ID = oraszamok.TanuloId
INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.ID = oraszamok.TantargyID
FETCH NEXT FROM kurzor INTO @OsztalyId, @OsztalyNev
END
CLOSE kurzor
DEALLOCATE kurzor
END
GO