kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20170919190200_KRETA_2056/sp_TeremKapacitasTullepesVizsgalat.sql
2024-03-13 00:33:46 +01:00

40 lines
1.4 KiB
Transact-SQL

IF OBJECT_ID('dbo.sp_TeremKapacitasTullepesVizsgalat') IS NOT NULL BEGIN
DROP PROCEDURE dbo.sp_TeremKapacitasTullepesVizsgalat
END
GO
CREATE PROCEDURE [dbo].[sp_TeremKapacitasTullepesVizsgalat]
@teremId int,
@tervezettKapacitas int
AS
SELECT DISTINCT
tanulok.ocsopId
,tanulok.letszam
,ocsop.C_NEV AS ocsopNev
,felh.C_NYOMTATASINEV AS tanarNev
,ISNULL(targy.C_ROVIDNEV, targy.C_NEV) TargyNev
FROM T_ORARENDIORA AS orarendiora
INNER JOIN T_OSZTALYCSOPORT AS ocsop ON orarendiora.C_OSZTALYCSOPORTID = ocsop.ID
INNER JOIN T_FELHASZNALO AS felh ON orarendiora.C_TANARID = felh.ID
INNER JOIN T_TANTARGY AS targy ON orarendiora.C_TANTARGYID = targy.ID
LEFT JOIN(
SELECT
C_OSZTALYCSOPORTID AS ocsopId
,COUNT(1) AS letszam
FROM T_TANULOCSOPORT
JOIN T_TANEV tanev ON tanev.ID = T_TANULOCSOPORT.C_TANEVID AND tanev.C_INTEZMENYID = T_TANULOCSOPORT.C_INTEZMENYID
WHERE T_TANULOCSOPORT.TOROLT = 'F'
AND T_TANULOCSOPORT.C_BELEPESDATUM <= GETDATE() AND (T_TANULOCSOPORT.C_KILEPESDATUM IS NULL OR T_TANULOCSOPORT.C_KILEPESDATUM > GETDATE()) AND tanev.C_AKTIV = 'T'
GROUP BY C_OSZTALYCSOPORTID
) tanulok ON tanulok.ocsopId = ocsop.ID
WHERE
orarendiora.C_ORAERVENYESSEGKEZDETE < GETDATE() AND
orarendiora.C_ORAERVENYESSEGVEGE > GETDATE() AND
orarendiora.C_TEREMID = @teremId AND
tanulok.letszam > @tervezettKapacitas AND
ocsop.TOROLT = 'F' AND
orarendiora.TOROLT = 'F' AND
felh.TOROLT = 'F' AND
targy.TOROLT = 'F'