54 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
DROP FUNCTION IF EXISTS fnGetDokumentumOsztalyTanuloinakMegtartottOrakTantargyankent
 | 
						|
GO
 | 
						|
 | 
						|
CREATE FUNCTION fnGetDokumentumOsztalyTanuloinakMegtartottOrakTantargyankent (
 | 
						|
   @tanevId int
 | 
						|
  ,@osztalyCsoportId int
 | 
						|
)
 | 
						|
RETURNS @result TABLE (
 | 
						|
   Orakszama int
 | 
						|
	,TanuloId int
 | 
						|
	,TantargyId int
 | 
						|
  ,TantargyNev nvarchar(255)
 | 
						|
  ,Fotargye char(1)
 | 
						|
  ,Altargye char(1)
 | 
						|
  ,Gyakorlati char(1)
 | 
						|
)
 | 
						|
AS BEGIN
 | 
						|
 | 
						|
  DECLARE @kategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyCsoportId)
 | 
						|
 | 
						|
  INSERT INTO @result
 | 
						|
  SELECT
 | 
						|
     COUNT(1) AS Orakszama
 | 
						|
    ,tcs.C_TANULOID AS TanuloId
 | 
						|
    ,tgy.ID AS TantargyId
 | 
						|
    ,ISNULL(tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV) AS TantargyNev
 | 
						|
    ,C_FOTARGYE AS Fotargye
 | 
						|
    ,C_ALTANTARGYKENTNYOMTATVANYBAN AS Altargye
 | 
						|
    ,C_GYAKORLATI AS Gyakorlati
 | 
						|
  FROM T_TANULOCSOPORT_OSSZES tcs
 | 
						|
  	INNER JOIN T_TANULOCSOPORT_OSSZES AS tcsAll ON tcsAll.C_TANULOID = tcs.C_TANULOID AND tcsAll.TOROLT='F'
 | 
						|
  	INNER JOIN T_TANITASIORA_OSSZES AS tao ON tao.C_OSZTALYCSOPORTID = tcsAll.C_OSZTALYCSOPORTID  AND tao.TOROLT='F'
 | 
						|
      AND tao.C_DATUM >= tcsAll.C_BELEPESDATUM AND (tcsAll.C_KILEPESDATUM IS NULL OR tcsAll.C_KILEPESDATUM >=tao.C_DATUM) 
 | 
						|
      AND tao.C_DATUM >= tcs.C_BELEPESDATUM AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= tao.C_DATUM) 
 | 
						|
      AND tao.C_OSZTALYCSOPORTID IN (SELECT Id FROM fnGetDokumentumOsztalyVagyTanoraiCsoport(@tanevId))
 | 
						|
  	  AND tao.C_MEGTARTOTT = 'T'
 | 
						|
      AND tao.C_TANEVID = @TanevId
 | 
						|
  	INNER JOIN T_OSZTALYCSOPORT_OSSZES AS ocs ON ocs.ID = tao.C_OSZTALYCSOPORTID AND ocs.TOROLT='F'
 | 
						|
  		AND ocs.C_FELADATKATEGORIAID = @kategoriaId AND ocs.C_TANEVID = @TanevId
 | 
						|
  	INNER JOIN T_TANTARGY_OSSZES AS tgy ON tgy.ID = tao.C_TANTARGYID AND tgy.TOROLT='F'
 | 
						|
      AND tgy.C_TANEVID = @TanevId
 | 
						|
  WHERE tcs.C_OSZTALYCSOPORTID = @osztalyCsoportId AND tcs.TOROLT='F'
 | 
						|
  GROUP BY 
 | 
						|
     tcs.C_TANULOID
 | 
						|
    ,tgy.ID
 | 
						|
    ,C_GYAKORLATI
 | 
						|
    ,tgy.C_NEVNYOMTATVANYBAN
 | 
						|
    ,tgy.C_NEV
 | 
						|
    ,tgy.C_FOTARGYE
 | 
						|
    ,tgy.C_ALTANTARGYKENTNYOMTATVANYBAN
 | 
						|
  RETURN
 | 
						|
END
 | 
						|
GO
 |