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