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

41 lines
1.6 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspGetTanarAltalErtekelhetoCsoportokTantargyak
GO
CREATE PROCEDURE uspGetTanarAltalErtekelhetoCsoportokTantargyak
@pTanarId int
,@pTanevId int
,@pDatum date
AS
BEGIN
SET NOCOUNT ON;
--Minden, ahol ő az osztályfőnök
SELECT
ocs.ID AS OsztalyCsoportId
,ocs.C_NEV
,f.C_TANTARGYID AS TantargyId
FROM T_OSZTALYCSOPORT_OSSZES ocs
INNER JOIN T_TANULOCSOPORT tcsocs ON tcsocs.C_OSZTALYCSOPORTID = ocs.ID AND tcsocs.TOROLT='F'
AND @pDatum >= tcsocs.C_BELEPESDATUM
AND (tcsocs.C_KILEPESDATUM IS NULL OR tcsocs.C_KILEPESDATUM >= @pDatum)
INNER JOIN T_TANULOCSOPORT tcso ON tcso.C_TANULOID = tcsocs.C_TANULOID AND tcso.TOROLT='F'
AND @pDatum >= tcso.C_BELEPESDATUM
AND (tcso.C_KILEPESDATUM IS NULL OR tcso.C_KILEPESDATUM >= @pDatum)
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocso ON ocso.ID = tcso.C_OSZTALYCSOPORTID AND ocso.C_FELADATKATEGORIAID = ocs.C_FELADATKATEGORIAID AND ocso.TOROLT='F'
INNER JOIN T_OSZTALY_OSSZES o ON o.ID=ocso.ID AND o.TOROLT='F' AND o.C_OSZTALYFONOKID = @pTanarId
INNER JOIN T_FOGLALKOZAS_OSSZES f ON ocs.ID = f.C_OSZTALYCSOPORTID AND f.TOROLT = 'F'
WHERE ocs.TOROLT = 'F'
AND ocs.C_TANEVID = @pTanevId
UNION
--Minden, ahol ő a tanár
SELECT
ocs.ID AS OsztalyCsoportId
,ocs.C_NEV
,f.C_TANTARGYID AS TantargyId
FROM T_FOGLALKOZAS_OSSZES f
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
AND ocs.TOROLT = 'F'
WHERE f.TOROLT = 'F'
AND f.C_TANARID = @pTanarId
AND ocs.C_TANEVID = @pTanevId
ORDER BY C_NEV
END
GO