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 fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet(@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