59 lines
No EOL
1.7 KiB
Transact-SQL
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 |