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

52 lines
No EOL
1.6 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS [dbo].[uspGetHittanOraszam]
GO
CREATE PROCEDURE [dbo].[uspGetHittanOraszam]
@pIntezmenyId int
,@pTanevId int
,@pCsoportTipus int
,@pLetszamDatum datetime
,@pStartDate datetime
,@pEndDate datetime
AS BEGIN
SET NOCOUNT ON;
SELECT
x.ID
,x.CsoportNev
,x.HittanTipus
,x.MegtartottDarabszam
,ISNULL(x.Darabszam, x.MegtartottDarabszam) AS Darabszam
,ISNULL(x.Letszam, x.SzamitottLetszam) AS Letszam
FROM
(
SELECT
cs.ID AS ID
,ocs.C_NEV AS CsoportNev
,ha.C_HITTANTIPUSID AS HittanTipus
,(SELECT COUNT(1)
FROM T_TANITASIORA t
WHERE t.C_OSZTALYCSOPORTID = cs.ID
AND t.TOROLT = 'F'
AND t.C_MEGTARTOTT = 'T'
AND t.C_ORAKEZDETE >= @pStartDate
AND t.C_ORAKEZDETE <= @pEndDate) AS MegtartottDarabszam
,ha.C_EDDIGIORASZAM AS Darabszam
,(SELECT COUNT(1)
FROM T_TANULOCSOPORT t
WHERE t.C_OSZTALYCSOPORTID = cs.ID
AND t.TOROLT = 'F'
AND t.C_BELEPESDATUM <= @pLetszamDatum
AND ( t.C_KILEPESDATUM >= @pLetszamDatum
OR t.C_KILEPESDATUM IS NULL )) AS SzamitottLetszam
,ha.C_CSOPORTLETSZAM AS Letszam
FROM T_CSOPORT_OSSZES cs
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = cs.ID AND ocs.TOROLT = 'F'
LEFT JOIN T_HITTANADATSZOLGALTATAS_OSSZES ha ON ha.C_OSZTALYCSOPORTID = cs.ID AND ha.TOROLT = 'F' AND ha.CREATED >= @pStartDate AND ha.CREATED <= @pEndDate
WHERE cs.TOROLT = 'F'
AND cs.C_TIPUSA = @pCsoportTipus
AND cs.C_ALINTEZMENYID = @pIntezmenyId
AND cs.C_ALTANEVID = @pTanevId
) AS x
END