68 lines
1.9 KiB
Transact-SQL
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 |