SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO DROP PROCEDURE IF EXISTS uspGondviseloTanuloinakEvfolyamTipusaLetezik GO CREATE PROCEDURE uspGondviseloTanuloinakEvfolyamTipusaLetezik @pIntezmenyId int ,@pTanevId int ,@pGondviseloId int ,@pEvfolyamtipusIdList nvarchar(250) AS BEGIN SET NOCOUNT ON; DECLARE @items TABLE(id INT NOT NULL PRIMARY KEY CLUSTERED); INSERT INTO @items(id) SELECT VALUE FROM STRING_SPLIT(@pEvfolyamtipusIdList, ','); SELECT COUNT(1) FROM ( SELECT TOP 1 gondviselo.ID FROM T_GONDVISELO_OSSZES gondviselo INNER JOIN T_TANULO_OSSZES tanulo ON gondviselo.C_TANULOID = tanulo.ID AND tanulo.TOROLT = 'F' AND gondviselo.C_TANEVID = tanulo.C_ALTANEVID AND gondviselo.C_INTEZMENYID = tanulo.C_ALINTEZMENYID INNER JOIN T_TANULOCSOPORT_OSSZES tanuloCsoport ON tanuloCsoport.C_TANULOID = tanulo.ID AND tanuloCsoport.TOROLT = 'F' AND tanuloCsoport.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND tanuloCsoport.C_TANEVID = tanulo.C_ALTANEVID INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON osztalyCsoport.ID = tanuloCsoport.C_OSZTALYCSOPORTID AND osztalyCsoport.TOROLT = 'F' AND osztalyCsoport.C_TANEVID = tanuloCsoport.C_TANEVID AND osztalyCsoport.C_INTEZMENYID = tanuloCsoport.C_INTEZMENYID INNER JOIN T_OSZTALY_OSSZES osztaly ON osztaly.ID = osztalycsoport.ID AND osztaly.C_ALTANEVID = osztalyCsoport.C_TANEVID AND osztaly.C_ALINTEZMENYID = osztalycsoport.C_INTEZMENYID AND osztaly.TOROLT = 'F' INNER JOIN @items i on i.id = osztalyCsoport.C_EVFOLYAMTIPUSA WHERE tanuloCsoport.C_BELEPESDATUM <= GETDATE() AND (tanuloCsoport.C_KILEPESDATUM > GETDATE() OR tanuloCsoport.C_KILEPESDATUM IS NULL) AND gondviselo.ID = @pGondviseloId AND gondviselo.C_INTEZMENYID = @pIntezmenyId AND gondviselo.C_TANEVID = @pTanevId UNION ALL SELECT TOP 1 gondviselo.ID FROM T_GONDVISELO_OSSZES gondviselo INNER JOIN T_TANULO_OSSZES tanulo ON gondviselo.C_TANULOID = tanulo.ID AND tanulo.TOROLT = 'F' AND gondviselo.C_TANEVID = tanulo.C_ALTANEVID AND gondviselo.C_INTEZMENYID = tanulo.C_ALINTEZMENYID INNER JOIN T_TANULOCSOPORT_OSSZES tanuloCsoport ON tanuloCsoport.C_TANULOID = tanulo.ID AND tanuloCsoport.TOROLT = 'F' AND tanuloCsoport.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND tanuloCsoport.C_TANEVID = tanulo.C_ALTANEVID INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON osztalyCsoport.ID = tanuloCsoport.C_OSZTALYCSOPORTID AND osztalyCsoport.TOROLT = 'F' AND osztalyCsoport.C_TANEVID = tanuloCsoport.C_TANEVID AND osztalyCsoport.C_INTEZMENYID = tanuloCsoport.C_INTEZMENYID INNER JOIN T_OSZTALY_OSSZES osztaly ON osztaly.ID = osztalycsoport.ID AND osztaly.C_ALTANEVID = osztalyCsoport.C_TANEVID AND osztaly.C_ALINTEZMENYID = osztalycsoport.C_INTEZMENYID AND osztaly.TOROLT = 'F' INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tanuloCsoport.ID AND tta.TOROLT = 'F' INNER JOIN @items i on i.id = tta.C_TANULOEVFOLYAMTIPUSID WHERE tanuloCsoport.C_BELEPESDATUM <= GETDATE() AND (tanuloCsoport.C_KILEPESDATUM > GETDATE() OR tanuloCsoport.C_KILEPESDATUM IS NULL) AND gondviselo.ID = @pGondviseloId AND gondviselo.C_INTEZMENYID = @pIntezmenyId AND gondviselo.C_TANEVID = @pTanevId AND osztalyCsoport.C_EVFOLYAMTIPUSA = 7366 --Összevont osztály ) AS Gondviselok END