﻿IF OBJECT_ID('fnGetDokumentumOsztalyokCsoportokTanuloi') IS NOT NULL BEGIN
  DROP FUNCTION fnGetDokumentumOsztalyokCsoportokTanuloi
END
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE FUNCTION fnGetDokumentumOsztalyokCsoportokTanuloi (@tanevId INT, @osztalyId INT, @isKilepettTanulokMegjelenjenek NVARCHAR(1))
  RETURNS TABLE
RETURN (
	SELECT DISTINCT 
		C_TANULOID					TanuloId
		,MAX(C_BELEPESDATUM)		BelepesDatum
		,CASE WHEN MAX(CASE WHEN C_KILEPESDATUM IS NULL THEN 1 ELSE 0 END) = 0 THEN MAX(C_KILEPESDATUM) END	KilepesDatum
	FROM 
		T_TANULOCSOPORT_OSSZES tanuloCsoport
  INNER JOIN 
		T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON osztalyCsoport.ID = tanuloCsoport.C_OSZTALYCSOPORTID AND osztalyCsoport.TOROLT = 'F'
	WHERE 
		tanuloCsoport.C_OSZTALYCSOPORTID = @osztalyId	
		AND tanuloCsoport.C_TANEVID =  @tanevId
		AND tanuloCsoport.TOROLT = 'F'
		AND (@isKilepettTanulokMegjelenjenek = 'T' OR C_KILEPESDATUM IS NULL)
	GROUP BY tanuloCsoport.C_TANULOID
)