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

59 lines
No EOL
1.7 KiB
Transact-SQL

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('sp_GetOsztalyokEvesOraszama') IS NOT NULL BEGIN
DROP PROCEDURE sp_GetOsztalyokEvesOraszama
END
GO
CREATE PROCEDURE sp_GetOsztalyokEvesOraszama
@tanevID int,
@tanitasiHetekSzamaVegzos INT = 32,
@tanitasiHetekSzamaNemVegzos INT = 36,
@isAltantargyBeszamitasa BIT
AS
BEGIN
DECLARE kurzor CURSOR FOR
SELECT OsztalyId FROM fnGetDokumentumOsztalyokTanevenkent(@tanevID)
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
DECLARE @OsztalyId int
OPEN kurzor
FETCH NEXT FROM kurzor INTO @OsztalyId
WHILE @@FETCH_STATUS = 0 BEGIN
SELECT DISTINCT
tanulo.C_NYOMTATASINEV TanuloNev
,tantargy.C_NEV TantargyNev
,oraszamok.Oraszam EvesOraszam
,(SELECT C_NEV FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @OsztalyId) OsztalyNev
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
END
CLOSE kurzor
DEALLOCATE kurzor
END
GO