DROP PROCEDURE IF EXISTS uspGetNemNaplozottOrakSzama GO CREATE PROCEDURE uspGetNemNaplozottOrakSzama @pTanevId int ,@pIntezmenyId int ,@pFeladatKategoriaId int = null AS BEGIN SET NOCOUNT ON; CREATE TABLE #NemNaplozottOrak ( Id int ,ORARENDIID int ,Bontott char (1) ,Hetirend int ,HetNapja int ,HetSorszam int ,ErvenyessegKezdete datetime ,ErvenyessegVege datetime ,OraKezdete datetime ,OraKezdeteDate date ,OraKezdeteTimeText varchar(5) ,OraVege datetime ,Oraszam int ,TargyNev nvarchar (300) ,TargyNevForMobile nvarchar (300) ,TargyNevForNyomtatvany nvarchar (300) ,TargykategoriaID int ,Megtartott char (1) ,CsengetesiRendOraID int ,CsengetesiRendID int ,MaxNapiOraszam int ,OsztalyNev nvarchar (255) ,MegjelenesOka nvarchar (300) ,TanarNev nvarchar (255) ,TanarOktAzon nvarchar (20) ,TeremNev nvarchar (255) ,OraTipus nvarchar (200) ,Hianyzas char (1) ,Keses char (1) ,Ures char (1) ,HelyettesitoTanarID int ,HelyettesitoTanarNev nvarchar (255) ,HelyettesitesId int ,TanarID int ,AdminAltalKiirt char (1) ,GroupId int ,Tema nvarchar (max) ,TantargyId int ,OsztCsopId int ,HelyettesitettPedagogusNev nvarchar (255) ,OraKezdeteDateST nvarchar (25) ,HetNapjaValos int ,Datum datetime ,HelyettesitoTanarOktAzon nvarchar (20) ) DECLARE @IdoszakKezdete DATETIME ,@IdoszakVege DATETIME = GETDATE() SELECT @IdoszakKezdete = tv.C_KEZDONAP FROM T_TANEV_OSSZES tv WHERE ID = @pTanevId EXEC uspGetNemNaplozottOrarendiOrak_Core @IntezmenyId = @pIntezmenyId ,@TanevId = @pTanevId ,@IdoszakKezdete = @IdoszakKezdete ,@IdoszakVege = @IdoszakVege ,@pFeladatKategoriaId = @pFeladatKategoriaId SELECT ora.Tanar ,ora.TanarOktAzon ,ora.Honap ,COUNT(*) AS Darab FROM ( SELECT ISNULL(HelyettesitoTanarNev, TanarNev) AS Tanar ,ISNULL(HelyettesitoTanarOktAzon,TanarOktAzon) AS TanarOktAzon ,FORMAT(Datum, 'MM') AS Honap -- egy napon lehet több óra ,Oraszam -- egy órában lehet több csoportnak óra ,OsztalyNev FROM #NemNaplozottOrak ) ora GROUP BY ora.Tanar ,ora.TanarOktAzon ,ora.Honap END GO