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

53 lines
1.7 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspGetOsztalyCsoportokLetszama
GO
CREATE PROCEDURE uspGetOsztalyCsoportokLetszama
@pIntezmenyId INT
,@pTanevId INT
AS BEGIN
SET NOCOUNT ON
DECLARE @sql NVARCHAR(2000)
SET @sql = N'
SELECT osztalyCsoport.ID ID
,osztalyCsoport.C_NEV Nev
,osztalyCsoport.C_EVFOLYAMTIPUSA Evfolyam
,IIF(csoport.ID IS NOT NULL, ''Csoport'', ''Osztály'') Tipus
,csoport.C_TIPUSA CsoportTipus
,osztalybontas.C_Nev Osztalybontas
,COUNT(tanuloCsoport.ID) TanulokSzama
FROM T_OSZTALYCSOPORT_OSSZES osztalyCsoport
LEFT JOIN T_CSOPORT_OSSZES csoport
ON csoport.ID = osztalyCsoport.ID AND csoport.TOROLT = ''F''
LEFT JOIN T_OSZTALYCSOPORT_OSSZES osztalybontas
ON osztalybontas.ID = csoport.C_OSZTALYBONTASID AND osztalybontas.TOROLT = ''F''
LEFT JOIN T_OSZTALY_OSSZES osztaly
ON osztaly.ID = osztalyCsoport.ID AND osztaly.TOROLT = ''F''
LEFT JOIN T_TANULOCSOPORT_OSSZES tanuloCsoport
ON tanuloCsoport.C_OSZTALYCSOPORTID = osztalyCsoport.ID
AND tanuloCsoport.TOROLT = ''F''
AND tanuloCsoport.C_BELEPESDATUM <= GETDATE()
AND (tanuloCsoport.C_KILEPESDATUM IS NULL OR tanuloCsoport.C_KILEPESDATUM >= GETDATE())
WHERE
osztalyCsoport.TOROLT = ''F''
AND osztalyCsoport.C_INTEZMENYID = @pIntezmenyId
AND osztalyCsoport.C_TANEVID = @pTanevId
GROUP BY
osztalyCsoport.ID,
csoport.ID,
osztalyCsoport.C_NEV,
osztalyCsoport.C_EVFOLYAMTIPUSA,
csoport.C_TIPUSA,
csoport.C_OSZTALYBONTASID,
osztalybontas.C_NEV'
EXEC sys.Sp_executesql @sql, N'
@pIntezmenyId int
,@pTanevId int'
,@pIntezmenyId
,@pTanevId
END
GO