DROP PROCEDURE IF EXISTS uspGetDKTFileJogosultsag GO CREATE PROCEDURE uspGetDKTFileJogosultsag @pTanuloId INT ,@pFileId INT ,@pTanevId INT AS BEGIN SET NOCOUNT ON; SELECT COUNT(1) FROM ( SELECT oraf.C_OSZTALYCSOPORTID OsztalyCsoportId FROM T_ORAFILE_OSSZES oraf INNER JOIN T_DKT_FILE_OSSZES f ON oraf.C_DKT_FILEID = f.ID INNER JOIN T_TANULOCSOPORT_OSSZES tanuloOsztalyCsoportok ON tanuloOsztalyCsoportok.C_TANULOID = @pTanuloId AND tanuloOsztalyCsoportok.TOROLT = 'F' AND tanuloOsztalyCsoportok.C_OSZTALYCSOPORTID = oraf.C_OSZTALYCSOPORTID AND tanuloOsztalyCsoportok.C_BELEPESDATUM <= f.C_FELTOLTESDATUM AND ( tanuloOsztalyCsoportok.C_KILEPESDATUM IS NULL OR tanuloOsztalyCsoportok.C_KILEPESDATUM >= f.C_FELTOLTESDATUM ) WHERE oraf.C_DKT_FILEID = @pFileId AND oraf.C_ISTANULOLATHATO = 'T' AND oraf.TOROLT = 'F' AND f.TOROLT = 'F' AND f.C_TANEVID = @pTanevId UNION SELECT f.C_OSZTALYCSOPORTID OsztalyCsoportId FROM T_DKT_FELADATFILE_OSSZES ff INNER JOIN T_DKT_FELADAT_OSSZES f ON ff.C_FELADATID = f.ID INNER JOIN T_TANULOCSOPORT_OSSZES tanuloOsztalyCsoportok ON tanuloOsztalyCsoportok.C_TANULOID = @pTanuloId AND tanuloOsztalyCsoportok.TOROLT = 'F' AND tanuloOsztalyCsoportok.C_OSZTALYCSOPORTID = f.C_OSZTALYCSOPORTID AND tanuloOsztalyCsoportok.C_BELEPESDATUM <= f.C_BEADASHATARIDO AND ( tanuloOsztalyCsoportok.C_KILEPESDATUM IS NULL OR tanuloOsztalyCsoportok.C_KILEPESDATUM > f.C_BEADASHATARIDO ) WHERE ff.C_FILEID = @pFileId AND ff.TOROLT = 'F' AND f.TOROLT = 'F' AND ff.C_TANEVID = @pTanevId ) osztalyCsoportok END GO