DROP FUNCTION IF EXISTS fnGetDokumentumTanuloZaradekai
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION fnGetDokumentumTanuloZaradekai (@tanevId int, @osztalyId int, @isKellVegzaradek bit, @idegenNyelvId int)
  RETURNS TABLE
RETURN (
  SELECT DISTINCT
     OsztalyTanuloi.TanuloId AS TanuloId
    ,OsztalyTanuloi.TanuloCsoportId AS TanuloCsoportId
    ,tcs.C_ZARADEK AS Bejegyzes
    ,tcsny.C_ZARADEK AS BejegyzesIdegenNyelven
  FROM T_TANULOCSOPORT_OSSZES tcs
    INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') OsztalyTanuloi ON OsztalyTanuloi.TanuloId = tcs.C_TANULOID AND OsztalyTanuloi.TanuloCsoportId = tcs.ID
    LEFT JOIN T_TANULOCSOPORTNYELV_OSSZES tcsny ON tcsny.C_TANULOCSOPORTID = tcs.ID AND tcsny.TOROLT = 'F' AND tcsny.C_NYELVID = @idegenNyelvId
  WHERE 		
    LEN(tcs.C_ZARADEK) > 0

  UNION 

  SELECT DISTINCT
     OsztalyTanuloi.TanuloId AS TanuloId
    ,OsztalyTanuloi.TanuloCsoportId AS TanuloCsoportId
    ,tcs.C_VEGZARADEK AS Bejegyzes
    ,tcsny.C_VEGZARADEK AS BejegyzesIdegenNyelven
  FROM T_TANULOCSOPORT_OSSZES tcs
    INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') OsztalyTanuloi ON OsztalyTanuloi.TanuloId = tcs.C_TANULOID AND OsztalyTanuloi.TanuloCsoportId = tcs.ID
    LEFT JOIN T_TANULOCSOPORTNYELV_OSSZES tcsny ON tcsny.C_TANULOCSOPORTID = tcs.ID AND tcsny.TOROLT = 'F' AND tcsny.C_NYELVID = @idegenNyelvId
  WHERE 		
    LEN(tcs.C_VEGZARADEK) > 0
    AND @isKellVegzaradek = 1
)