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