42 lines
2.3 KiB
Transact-SQL
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
|