kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20171020152323_KRETA_3548_3/sp_GetErtekelesReszletek.sql
2024-03-13 00:33:46 +01:00

125 lines
No EOL
3.2 KiB
Transact-SQL

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetErtekelesReszletek]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetErtekelesReszletek]
END
GO
-- =============================================
-- Description: <Előszedjük a tanuló értékeléseit részletesen tantárgy szerint>
-- =============================================
CREATE PROCEDURE [dbo].[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 ID
,TanuloErtekeles.C_ERTEKELESDATUM ErtekelesDatuma
,TanuloErtekeles.C_ERTEKELESTIPUSA ErtekelesTipusa
,TanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg
,TanuloErtekeles.C_SZOVEGROVIDNEV SzovegRovidNev
,TanuloErtekeles.C_OSZTALYZAT Osztalyzat
,TanuloErtekeles.C_TANORAID TanoraID
,OsztalyzatErtekeles.C_ERTEKELESMODJA ErtekelesModja
,OsztalyzatErtekeles.C_SZAZALEK Szazalek
,OsztalyzatErtekeles.C_TEMA Tema
,TanariAtlagSuly.C_SULY Suly
,TanuloErtekeles.TOROLT Torolt
,TanuloCsoport.C_TANULOID TanuloId
,Felhasznalo.C_NYOMTATASINEV 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_SZOVEGROVIDNEV]
,[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