DROP PROCEDURE IF EXISTS uspGetTanuloOsztalyDataSetByOsztalyCsoportId GO CREATE PROCEDURE uspGetTanuloOsztalyDataSetByOsztalyCsoportId @pTanevId int ,@pOsztalyCsoportId int AS BEGIN SET NOCOUNT ON; SELECT fh.ID AS TanuloId ,ocs.ID AS OsztalyCsoportId ,ocs.C_NEV AS OsztalyCsoportNev ,ocs.C_EVFOLYAMTIPUSA AS OsztalyCsoportEvfolyamTipusId ,oocs.ID AS TanuloOsztalyId ,oocs.C_NEV AS TanuloOsztalyNev ,oocs.C_EVFOLYAMTIPUSA AS TanuloOsztalyEvfolyamTipusId --NOTE: Előszedjük a bejövő osztalycsoport-hoz tartozó tanulókat! FROM T_FELHASZNALO_OSSZES fh INNER JOIN T_TANULO_OSSZES dk ON dk.ID = fh.ID AND dk.C_ALTANEVID = fh.C_TANEVID AND dk.TOROLT = 'F' INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = @pOsztalyCsoportId AND tcs.C_TANULOID = dk.ID AND tcs.C_TANEVID = fh.C_TANEVID AND tcs.TOROLT = 'F' AND (tcs.C_BELEPESDATUM <= GETDATE() AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())) INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.C_TANEVID = fh.C_TANEVID AND ocs.TOROLT = 'F' --NOTE: Előszedjük a tanulókhoz tartozó aktuális osztályukat! INNER JOIN T_TANULOCSOPORT_OSSZES otcs ON otcs.C_TANULOID = dk.ID AND otcs.C_TANEVID = fh.C_TANEVID AND otcs.TOROLT = 'F' AND otcs.C_BELEPESDATUM <= GETDATE() AND (otcs.C_KILEPESDATUM IS NULL OR otcs.C_KILEPESDATUM > GETDATE()) INNER JOIN T_OSZTALY_OSSZES o ON o.ID = otcs.C_OSZTALYCSOPORTID AND o.C_ALTANEVID = otcs.C_TANEVID AND o.TOROLT = 'F' INNER JOIN T_OSZTALYCSOPORT_OSSZES oocs ON oocs.ID = o.ID AND oocs.C_TANEVID = otcs.C_TANEVID AND oocs.TOROLT = 'F' AND (oocs.C_FELADATKATEGORIAID = ocs.C_FELADATKATEGORIAID) WHERE fh.TOROLT = 'F' AND fh.C_TANEVID = @pTanevId END GO