123 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
IF OBJECT_ID('[sp_GetErtekelesReszletek]') IS NOT NULL 
 | 
						|
BEGIN
 | 
						|
  DROP PROCEDURE [sp_GetErtekelesReszletek]
 | 
						|
END
 | 
						|
GO	
 | 
						|
 | 
						|
-- =============================================
 | 
						|
-- Description:	<Előszedjük a tanuló értékeléseit részletesen tantárgy szerint>
 | 
						|
-- =============================================
 | 
						|
CREATE PROCEDURE [sp_GetErtekelesReszletek]
 | 
						|
	@pIntezmenyId INT,
 | 
						|
	@pTanevId INT,
 | 
						|
	@pTanuloId INT,
 | 
						|
	@pTantargyId INT,
 | 
						|
	@pToroltElemek CHAR = 'F',
 | 
						|
	@pTanarId INT
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
 | 
						|
	-- SET NOCOUNT ON added to prevent extra result sets from
 | 
						|
	-- interfering with SELECT statements.
 | 
						|
	SET NOCOUNT ON;
 | 
						|
 | 
						|
	SELECT
 | 
						|
		TanuloErtekeles.ID 
 | 
						|
		,TanuloErtekeles.C_ERTEKELESDATUM AS		ErtekelesDatuma 
 | 
						|
		,TanuloErtekeles.C_ERTEKELESTIPUSA AS		ErtekelesTipusa
 | 
						|
		,TanuloErtekeles.C_ERTEKELESSZOVEG AS		ErtekelesSzovege
 | 
						|
		,TanuloErtekeles.C_OSZTALYZAT AS			Osztalyzat
 | 
						|
		,TanuloErtekeles.C_TANORAID					TanoraID
 | 
						|
		,OsztalyzatErtekeles.C_ERTEKELESMODJA AS	ErtekelesModja
 | 
						|
		,OsztalyzatErtekeles.C_SZAZALEK AS			Szazalek
 | 
						|
		,OsztalyzatErtekeles.C_TEMA AS				Tema
 | 
						|
		,TanariAtlagSuly.C_SULY AS					Suly
 | 
						|
		,TanuloErtekeles.TOROLT AS					Torolt
 | 
						|
		,TanuloCsoport.C_TANULOID AS				TanuloId
 | 
						|
		,Felhasznalo.C_NYOMTATASINEV AS				Ertekelo
 | 
						|
		,CASE
 | 
						|
			WHEN TanuloErtekeles.C_ERTEKELOID = @pTanarId
 | 
						|
				THEN 'T' 
 | 
						|
				ELSE 'F' 
 | 
						|
		END											Modosithato
 | 
						|
				
 | 
						|
	FROM(
 | 
						|
		SELECT DISTINCT
 | 
						|
			[C_TANULOID]
 | 
						|
		FROM 
 | 
						|
			[T_TANULOCSOPORT] 
 | 
						|
		WHERE 
 | 
						|
			[TOROLT] = 'F' 
 | 
						|
			AND [C_TANULOID] = @pTanuloId
 | 
						|
			AND [C_INTEZMENYID] = @pIntezmenyId
 | 
						|
			AND [C_TANEVID] = @pTanevId
 | 
						|
	) AS TanuloCsoport
 | 
						|
		INNER JOIN (
 | 
						|
			SELECT
 | 
						|
				[ID]
 | 
						|
				,[C_ERTEKELESDATUM]
 | 
						|
				,[C_ERTEKELESTIPUSA]
 | 
						|
				,[C_ERTEKELESSZOVEG]
 | 
						|
				,[C_OSZTALYZAT]
 | 
						|
				,[C_TANULOID]
 | 
						|
				,[C_ERTEKELOID]
 | 
						|
				,[C_TANORAID]
 | 
						|
				,[TOROLT]
 | 
						|
				,[CREATOR]
 | 
						|
			FROM 
 | 
						|
				[T_TANULOERTEKELES_OSSZES] 
 | 
						|
			WHERE 
 | 
						|
				[C_TANTARGYID] = @pTantargyId
 | 
						|
				--Ha a törölt flag True, a törölt elemeket is visszaadjuk
 | 
						|
				AND [TOROLT] = IIF(@pToroltElemek = 'T', [TOROLT], 'F')
 | 
						|
				AND [C_INTEZMENYID] = @pIntezmenyId
 | 
						|
				AND [C_TANEVID] = @pTanevId
 | 
						|
		) AS TanuloErtekeles
 | 
						|
			ON TanuloCsoport.C_TANULOID = TanuloErtekeles.C_TANULOID 
 | 
						|
		INNER JOIN (
 | 
						|
			SELECT
 | 
						|
				[ID]
 | 
						|
				,[C_ERTEKELESMODJA]
 | 
						|
				,[C_SZAZALEK]
 | 
						|
				,[C_TEMA]
 | 
						|
				,[TOROLT]
 | 
						|
			FROM 
 | 
						|
				[T_OSZTALYZATERTEKELES_OSSZES] 
 | 
						|
			WHERE
 | 
						|
				--Ha a törölt flag True, a törölt elemeket is visszaadjuk
 | 
						|
				[TOROLT] = IIF(@pToroltElemek = 'T', [TOROLT], 'F')
 | 
						|
				AND [C_ALINTEZMENYID] = @pIntezmenyId
 | 
						|
				AND [C_ALTANEVID] = @pTanevId
 | 
						|
		) AS OsztalyzatErtekeles 
 | 
						|
			ON OsztalyzatErtekeles.ID = TanuloErtekeles.ID
 | 
						|
		INNER JOIN (
 | 
						|
			SELECT
 | 
						|
				[ID]
 | 
						|
				,[C_NYOMTATASINEV]
 | 
						|
			FROM 
 | 
						|
				[T_FELHASZNALO] 
 | 
						|
			WHERE 
 | 
						|
				[TOROLT] = 'F'
 | 
						|
				AND [C_INTEZMENYID] = @pIntezmenyId
 | 
						|
				AND [C_TANEVID] = @pTanevId
 | 
						|
		) AS Felhasznalo
 | 
						|
			ON Felhasznalo.ID = TanuloErtekeles.C_ERTEKELOID
 | 
						|
		LEFT JOIN (
 | 
						|
			SELECT 
 | 
						|
				[C_SULY]
 | 
						|
				,[C_ERTEKELESMODJA]
 | 
						|
			FROM
 | 
						|
				[T_TANARIATLAGSULY_OSSZES]
 | 
						|
			WHERE 
 | 
						|
				[TOROLT] = 'F'
 | 
						|
				AND [C_INTEZMENYID] = @pIntezmenyId
 | 
						|
				AND [C_TANEVID] = @pTanevId
 | 
						|
		) AS TanariAtlagSuly
 | 
						|
			ON TanariAtlagSuly.C_ERTEKELESMODJA = OsztalyzatErtekeles.C_ERTEKELESMODJA
 | 
						|
			
 | 
						|
END |