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

42 lines
2.3 KiB
Transact-SQL

GO
/****** Object: StoredProcedure [dbo].[sp_GetStatTanuloTantargyiMulasztasTanevbenMegtarthato] Script Date: 2015.12.28. 10:29:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Dőrr Tamás
-- Create date: 2015.12.28.
-- Description: sp_GetStatTanuloTantargyiMulasztasTanevbenMegtarthato
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetStatTanuloTantargyiMulasztasTanevbenMegtarthato]
@TanevId int
AS
BEGIN
SET NOCOUNT ON;
SELECT OSZTALYCSOPORT_NEV, TANULO_NEV, TANTARGY_NEV + ' (%)' as TANTARGY_NEV, CASE WHEN [PERCENT] != '0%' THEN [PERCENT] ELSE NULL END [PERCENT]
FROM (
SELECT
OSZTCSOP.C_NEV as OSZTALYCSOPORT_NEV
,TANULO.TANULONEV as TANULO_NEV
,TARGY.TARGYNEV as TANTARGY_NEV
,COUNT(MULASZTAS.ID) as MULASZTOTTSZAM
,f.C_ORASZAM as OSSZORASZAM
,cast(cast(((cast(COUNT(MULASZTAS.ID) as decimal) / cast(f.C_ORASZAM as decimal)) * 100) as int) as nvarchar(50)) + '%' as 'PERCENT'
from T_OSZTALYCSOPORT_OSSZES OSZTCSOP
join (SELECT C_OSZTALYCSOPORTID OSZTALYCSOPORTID, C_TANULOID TANULOID FROM T_TANULOCSOPORT_OSSZES
WHERE TOROLT = 'F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOP ON TANCSOP.OSZTALYCSOPORTID = OSZTCSOP.ID
join (SELECT C_NYOMTATASINEV TANULONEV, ID FROM T_FELHASZNALO_OSSZES WHERE TOROLT = 'F') TANULO ON TANULO.ID = TANCSOP.TANULOID
join (SELECT C_OSZTALYCSOPORTID OSZTCSOPID, C_TANTARGYID TANTARGYID, ID FROM T_TANITASIORA_OSSZES WHERE TOROLT = 'F') TANORA on TANORA.OSZTCSOPID = OSZTCSOP.ID
join (SELECT ID, C_NEV TARGYNEV FROM T_TANTARGY_OSSZES WHERE TOROLT = 'F') TARGY on TARGY.ID = TANORA.TANTARGYID
join T_FOGLALKOZAS_OSSZES f on f.C_OSZTALYCSOPORTID = OSZTCSOP.ID and f.C_TANTARGYID = TANORA.TANTARGYID
LEFT JOIN (SELECT ID, C_ORATANULOIID TANULOID, C_TANITASIORAKID TANORAID FROM T_TANULOMULASZTAS_OSSZES WHERE TOROLT = 'F' AND C_TIPUS = 1500) MULASZTAS
ON MULASZTAS.TANULOID = TANULO.ID AND MULASZTAS.TANORAID = TANORA.ID
where
OSZTCSOP.TOROLT = 'F'
and OSZTCSOP.C_TANEVID = @TanevId
GROUP BY OSZTCSOP.C_NEV, TANULO.TANULONEV, TARGY.TARGYNEV, f.[C_ORASZAM]
) EREDMENY
END