kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Functions/fnGetDokumentumOsszefuggoSzakmaiGyakorlat.sql
2024-03-13 00:33:46 +01:00

28 lines
No EOL
1.4 KiB
Transact-SQL

IF OBJECT_ID('fnGetDokumentumOsszefuggoSzakmaiGyakorlat') IS NOT NULL BEGIN
DROP FUNCTION fnGetDokumentumOsszefuggoSzakmaiGyakorlat
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION fnGetDokumentumOsszefuggoSzakmaiGyakorlat(@tanevId INT, @osztalyId INT)
RETURNS TABLE
RETURN (
SELECT
Tanulok.TanuloId TanuloId
,Tanulok.TanuloCsoportId TanuloCsoportId
,C_TELJESITETT isTeljesitett
,ISNULL(Ertekeles.C_ERTEKELESSZOVEG, Osztalyzat.C_VALUE) Ertekeles
,'[' + C_MEGJEGYZES + ']' Megjegyzes
,dbo.fnGetDokumentumDatumFormatum(OsszefuggoSzakGyak.C_TELJESITESDATUM) Datum
FROM fnGetDokumentumOsztalyokCsoportokTanuloi (@tanevid, @osztalyid, 'T') Tanulok
INNER JOIN T_OSSZEFUGGOSZAKGYAK_OSSZES OsszefuggoSzakGyak ON OsszefuggoSzakGyak.C_TANULOID = Tanulok.TanuloId AND OsszefuggoSzakGyak.TOROLT = 'F' AND OsszefuggoSzakGyak.C_TANEVID = @tanevid
LEFT JOIN T_TANULOERTEKELES_OSSZES Ertekeles ON Ertekeles.C_OSSZEFUGGOSZAKGYAKID = OsszefuggoSzakGyak.ID AND Ertekeles.TOROLT = 'F' AND Ertekeles.C_TANEVID = @tanevid
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Osztalyzat ON Osztalyzat.ID = Ertekeles.C_ERTEKELESOSZTALYZATID AND Osztalyzat.C_TANEVID = @tanevid
WHERE
Tanulok.BelepesDatum <= OsszefuggoSzakGyak.C_TELJESITESDATUM
AND (Tanulok.KilepesDatum >= OsszefuggoSzakGyak.C_TELJESITESDATUM OR Tanulok.KilepesDatum IS NULL)
)