kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20170327110702_Init/Stored procedures/sp_GetTantargyakElmaradtOraiTanaronkent.sql
2024-03-13 00:33:46 +01:00

94 lines
No EOL
3.7 KiB
Transact-SQL

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_FOGLALKOZASOK_TANAROK_OSSZES ON T_FOGLALKOZAS_OSSZES.ID = T_FOGLALKOZASOK_TANAROK_OSSZES.C_FOGLALKOZASOKID
INNER JOIN T_FELHASZNALO_OSSZES ON T_FELHASZNALO_OSSZES.ID = T_FOGLALKOZASOK_TANAROK_OSSZES.C_TANAROKID
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_FOGLALKOZASOK_TANAROK_OSSZES ON T_FOGLALKOZAS_OSSZES.ID = T_FOGLALKOZASOK_TANAROK_OSSZES.C_FOGLALKOZASOKID
INNER JOIN T_FELHASZNALO_OSSZES ON T_FELHASZNALO_OSSZES.ID = T_FOGLALKOZASOK_TANAROK_OSSZES.C_TANAROKID
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