﻿IF OBJECT_ID('dbo.uspGetOsztalyCsoportTanuloinakTanugyiAdatai') IS NOT NULL BEGIN
  DROP PROCEDURE dbo.uspGetOsztalyCsoportTanuloinakTanugyiAdatai
END;
GO

CREATE PROCEDURE dbo.uspGetOsztalyCsoportTanuloinakTanugyiAdatai
	 @pOsztalyCsoportId INT
	,@pDatum DATE = NULL
AS
BEGIN
  SET NOCOUNT ON;	
  DECLARE  @defaultKatId INT = 7553
	IF @pDatum IS NULL 
		SET @pDatum = GETDATE()

	SELECT 
		  t.ID AS TanuloId
		 ,tta.ID AS TanuloTanugyiAdatokId
	FROM T_TANULO_OSSZES t
		INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON t.ID=tcs.C_TANULOID AND tcs.C_OSZTALYCSOPORTID=@pOsztalyCsoportId
			AND tcs.TOROLT = 'F'
			AND tcs.C_BELEPESDATUM <= @pDatum
			AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= @pDatum)
		INNER JOIN T_TANULOCSOPORT_OSSZES tcs2 ON tcs2.C_TANULOID=tcs.C_TANULOID AND tcs2.TOROLT='F'
		INNER JOIN T_OSZTALY_OSSZES o ON o.ID = tcs2.C_OSZTALYCSOPORTID AND o.TOROLT='F'
		INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID=o.ID AND ocs.TOROLT='F'
		INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID=tcs2.ID AND tta.TOROLT='F'
	WHERE (tcs.C_OSZTALYCSOPORTID = @pOsztalyCsoportId OR ocs.C_FELADATKATEGORIAID=@defaultKatId)
	 AND t.TOROLT='F'
END