GO
/****** Object:  StoredProcedure [dbo].[sp_GetTanulokOsztalyzatai]    Script Date: 2016.03.18. 9:32:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

IF OBJECT_ID('[sp_GetTanulokOsztalyzatai]') IS NOT NULL BEGIN
  DROP PROCEDURE [sp_GetTanulokOsztalyzatai]
END  
GO

-- =============================================
-- Author:		<Kelemen Attila>
-- Create date: <2016. 02. 05.>
-- Description:	<Tanulók osztályzatai átlagok számításához>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetTanulokOsztalyzatai]
	
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

	SELECT  
            T_TANULOERTEKELES.C_TANULOID TanuloID,
            T_TANULOERTEKELES.C_TANTARGYID TantargyID,
            
			(case when T_TANARITANTARGY.C_ALKALMAZOTTID is not null then
				T_TANARITANTARGY.C_ALKALMAZOTTID
			else
				T_TANULOERTEKELES.C_ERTEKELOID
				 end) TanarID,
            T_OSZTALYZATERTEKELES.C_ERTEKELESMODJA Tipus,
	        T_TANULOCSOPORT.C_OSZTALYCSOPORTID OsztalyCsoportID,
            DIB.C_VALUE Jegy,
			T_TANULOERTEKELES.C_ERTEKELESDATUM Datum

   FROM T_TANULOERTEKELES
            inner join t_osztalyzatertekeles on t_tanuloertekeles.id = T_OSZTALYZATERTEKELES.ID
            inner join  T_DICTIONARYITEMBASE DIB on (T_TANULOERTEKELES.C_OSZTALYZAT = DIB.ID 
														AND DIB.C_INTEZMENYID = T_TANULOERTEKELES.C_INTEZMENYID 
														AND DIB.C_TANEVID = T_TANULOERTEKELES.C_TANEVID )
            left join T_TANARITANTARGY on T_TANULOERTEKELES.C_TANTARGYID = T_TANARITANTARGY.C_TANTARGYID AND T_TANARITANTARGY.TOROLT='F'
	        inner join T_TANULOCSOPORT ON T_TANULOERTEKELES.C_TANULOID = T_TANULOCSOPORT.C_TANULOID

	        left join T_TARGYTANULOATLAG on T_TANULOERTEKELES.C_TANULOID = T_TARGYTANULOATLAG.C_TANULOID 
		        and T_TANULOERTEKELES.C_TANTARGYID = T_TARGYTANULOATLAG.C_TANTARGYID
				left join T_TANARTARGYATLAG on 
				
				(case when T_TANARITANTARGY.C_ALKALMAZOTTID is not null then
					 T_TANARITANTARGY.C_ALKALMAZOTTID
				else
					T_TANULOERTEKELES.C_ERTEKELOID end) = T_TANARTARGYATLAG.C_TANARIATLAGOKID 
		        and T_TANULOERTEKELES.C_TANTARGYID = T_TANARTARGYATLAG.C_TANTARGYIATLAGOKID
	
	        left join T_TARGYOSZTALYATLAG on T_TANULOCSOPORT.C_OSZTALYCSOPORTID = T_TARGYOSZTALYATLAG.C_OSZTALYATLAGOKID
		        and T_TANULOERTEKELES.C_TANTARGYID = T_TARGYOSZTALYATLAG.C_TARGYATLAGOKID

            WHERE T_TANULOERTEKELES.TOROLT='F'
            AND T_OSZTALYZATERTEKELES.TOROLT='F'
            
            AND T_TANULOCSOPORT.TOROLT='F'
			AND T_TANULOCSOPORT.C_BELEPESDATUM < GETDATE()
			AND (T_TANULOCSOPORT.C_KILEPESDATUM is null or T_TANULOCSOPORT.C_KILEPESDATUM >= GETDATE())
	        AND T_TANULOERTEKELES.C_ERTEKELESTIPUSA = 1518 --ÉVKÖZI ÉRTÉKELÉS TÍPUS
END 
