GO
/****** Object:  StoredProcedure [dbo].[sp_GetTantargyakElmaradtOraiTanaronkent]    Script Date: 2016.01.28. 16:21:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetTantargyakElmaradtOraiTanaronkent]') IS NOT NULL 
BEGIN
  DROP PROCEDURE [dbo].[sp_GetTantargyakElmaradtOraiTanaronkent]
END  
GO
-- =============================================
-- Author:		<Kelemen Attila>
-- Create date: <2016. 01. 07.>
-- Description:	<Elmaradt órák tanáronként, tantárgyanként>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetTantargyakElmaradtOraiTanaronkent]
	@tanevID int,
	@intezmenyId int
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

	
	select * from
	--Évfolyamonként
		(select 
		T_FELHASZNALO_OSSZES.ID TanarID,
		T_FELHASZNALO_OSSZES.C_NYOMTATASINEV TanarNev,
		T_TANTARGY_OSSZES.C_NEV Tantargy,

				T_OSZTALYCSOPORT_OSSZES.C_EVFOLYAMTIPUSA Evfolyam,
				COUNT(T_TANITASIORA_OSSZES.ID) MegtartottOrak

				FROM T_TANTARGY_OSSZES
				right JOIN T_TANITASIORA_OSSZES on T_TANTARGY_OSSZES.ID = T_TANITASIORA_OSSZES.C_TANTARGYID
				INNER JOIN T_FOGLALKOZAS_OSSZES ON T_TANTARGY_OSSZES.ID = T_FOGLALKOZAS_OSSZES.C_TANTARGYID
				INNER JOIN T_OSZTALYCSOPORT_OSSZES ON T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_OSSZES.ID
				INNER JOIN T_OSZTALY_OSSZES ON T_OSZTALYCSOPORT_OSSZES.ID = T_OSZTALY_OSSZES.ID
				INNER JOIN T_FELHASZNALO_OSSZES ON T_FELHASZNALO_OSSZES.ID = T_FOGLALKOZAS_OSSZES.C_TANARID

				WHERE
					T_TANTARGY_OSSZES.TOROLT='F'
				AND T_TANITASIORA_OSSZES.TOROLT='F'
				AND T_FOGLALKOZAS_OSSZES.TOROLT='F'
				AND T_OSZTALYCSOPORT_OSSZES.TOROLT='F'
				AND T_OSZTALY_OSSZES.TOROLT='F'
				AND T_FOGLALKOZAS_OSSZES.C_FOGLALKOZASTIPUSA = 1339 --Tanórai foglalkozás

				AND T_TANITASIORA_OSSZES.C_MEGTARTOTT='F'

				AND T_TANTARGY_OSSZES.C_TANEVID = @tanevID
				AND T_TANTARGY_OSSZES.C_TANEVID = @intezmenyId

				GROUP BY T_FELHASZNALO_OSSZES.ID, T_TANTARGY_OSSZES.C_NEV, T_OSZTALYCSOPORT_OSSZES.C_EVFOLYAMTIPUSA, T_FELHASZNALO_OSSZES.C_NYOMTATASINEV

		UNION
		--Összes
				select
				T_FELHASZNALO_OSSZES.ID TanarID,
				T_FELHASZNALO_OSSZES.C_NYOMTATASINEV TanarNeve,
				 T_TANTARGY_OSSZES.C_NEV Tantargy,

				NULL Evfolyam,
				COUNT(T_TANITASIORA_OSSZES.ID) MegtartottOrak

				FROM T_TANTARGY_OSSZES
				INNER JOIN T_TANITASIORA_OSSZES on T_TANTARGY_OSSZES.ID = T_TANITASIORA_OSSZES.C_TANTARGYID
				INNER JOIN T_FOGLALKOZAS_OSSZES ON T_TANTARGY_OSSZES.ID = T_FOGLALKOZAS_OSSZES.C_TANTARGYID
				INNER JOIN T_OSZTALYCSOPORT_OSSZES ON T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_OSSZES.ID
				INNER JOIN T_OSZTALY_OSSZES ON T_OSZTALYCSOPORT_OSSZES.ID = T_OSZTALY_OSSZES.ID
				INNER JOIN T_FELHASZNALO_OSSZES ON T_FELHASZNALO_OSSZES.ID = T_FOGLALKOZAS_OSSZES.C_TANARID

				WHERE
					T_TANTARGY_OSSZES.TOROLT='F'
				AND T_TANITASIORA_OSSZES.TOROLT='F'
				AND T_FOGLALKOZAS_OSSZES.TOROLT='F'
				AND T_OSZTALYCSOPORT_OSSZES.TOROLT='F'
				AND T_OSZTALY_OSSZES.TOROLT='F'

				AND T_TANITASIORA_OSSZES.C_MEGTARTOTT='F'
				AND T_TANTARGY_OSSZES.C_TANEVID = @tanevID
				AND T_TANTARGY_OSSZES.C_TANEVID = @intezmenyId
				AND T_FOGLALKOZAS_OSSZES.C_FOGLALKOZASTIPUSA = 1339 --Tanórai foglalkozás

				GROUP BY T_FELHASZNALO_OSSZES.ID, T_TANTARGY_OSSZES.C_NEV, T_FELHASZNALO_OSSZES.C_NYOMTATASINEV) Orak

		order by TanarNev, Tantargy, Evfolyam
	END 
GO