DROP PROCEDURE IF EXISTS uspGetHittanOraszamList GO CREATE PROCEDURE uspGetHittanOraszamList @pIntezmenyId INT ,@pTanevId INT ,@pCsoportTipus INT ,@pHittanAdatszolgaltatasLetszamDatum DATETIME ,@pStartDate DATETIME ,@pEndDate DATETIME ,@pOktNevKatTipus INT 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_OSSZES 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_OSSZES t WHERE t.C_OSZTALYCSOPORTID = cs.ID AND t.TOROLT = 'F' AND t.C_BELEPESDATUM <= @pHittanAdatszolgaltatasLetszamDatum AND ( t.C_KILEPESDATUM >= @pHittanAdatszolgaltatasLetszamDatum 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' AND ocs.C_FELADATKATEGORIAID = @pOktNevKatTipus 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 GO