DROP PROCEDURE  IF EXISTS uspGetTanuloTanoraiCsoportokEugyintezes 
GO

CREATE PROCEDURE uspGetTanuloTanoraiCsoportokEugyintezes
  @pTanuloOktatasiAzonosito AS nvarchar(20)
AS
BEGIN
  SET NOCOUNT ON;

  SELECT
     ocs.ID  AS KretaAzonosito
    ,cs.C_OSZTALYBONTASID AS OsztalyKretaAzonosito
    ,ocs.C_NEV AS Nev
  FROM T_TANULOCSOPORT_OSSZES tcs
    CROSS APPLY(
      SELECT
        IIF(GETDATE() < t.C_ELSOTANITASINAP, t.C_ELSOTANITASINAP, GETDATE()) AS ElsoTanitasiNap
      FROM T_TANEV_OSSZES t
      WHERE t.ID = tcs.C_TANEVID
        AND t.C_AKTIV = 'T'
        AND t.TOROLT = 'F'
    ) tanev
    INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID
      AND ocs.TOROLT = 'F'
      AND ocs.C_TANEVID = tcs.C_TANEVID
    INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.ID
      AND cs.TOROLT = 'F'
      AND cs.C_ALTANEVID = tcs.C_TANEVID
    INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = tcs.C_TANULOID
      AND f.TOROLT = 'F'
      AND f.C_TANEVID = tcs.C_TANEVID
      AND f.C_OKTATASIAZONOSITO = @pTanuloOktatasiAzonosito
  WHERE tcs.TOROLT = 'F'
    AND tcs.C_BELEPESDATUM <= tanev.ElsoTanitasiNap AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > tanev.ElsoTanitasiNap)

END
GO
