67 lines
3.1 KiB
Transact-SQL
67 lines
3.1 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS uspGetKozossegiSzolgalatokData
|
|
GO
|
|
|
|
CREATE PROCEDURE uspGetKozossegiSzolgalatokData
|
|
@pIntezmenyId int
|
|
,@pOsztalyCsoportId int
|
|
,@pIdoszakKezdete datetime
|
|
,@pIdoszakVege datetime
|
|
,@pOsszesOraszamKezdete int
|
|
,@pOsszesOraszamVege int
|
|
,@pTanuloNeve nvarchar(250)
|
|
,@pAnyjaNeve nvarchar(250)
|
|
AS
|
|
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
SELECT *
|
|
FROM (
|
|
SELECT
|
|
currenttanulo.TanuloId as ID
|
|
,currenttanulo.TanuloId as TanuloId
|
|
,currenttanulo.TanuloNev as TanuloNev
|
|
,IIF(currenttanulo.Nevsorrend = 'T',
|
|
currenttanulo.TanuloUtonev + ' ' + currenttanulo.TanuloVezeteknev,
|
|
currenttanulo.TanuloVezeteknev + ' ' + currenttanulo.TanuloUtonev) as TanuloNevElotagNelkul
|
|
,currenttanulo.AnyjaNeve as AnyjaNeve
|
|
,currenttanulo.SzuletesiIdo as SzuletesiIdo
|
|
,currenttanulo.OsztalyNev as OsztalyNev
|
|
,ISNULL(SUM(kozossegiszolgalat.C_ORASZAM),0) as OsszesOraszam
|
|
FROM T_FELHASZNALO_OSSZES tanulo
|
|
LEFT JOIN (
|
|
SELECT DISTINCT
|
|
tanulo.C_OKTATASIAZONOSITO as OktatasiAzonosito
|
|
,tanulo.ID as TanuloId
|
|
,tanulo.C_NYOMTATASINEV as TanuloNev
|
|
,tanulo.C_NEVSORREND as Nevsorrend
|
|
,tanulo.C_VEZETEKNEV as TanuloVezeteknev
|
|
,tanulo.C_UTONEV as TanuloUtonev
|
|
,tanulo.C_ANYJANEVE as AnyjaNeve
|
|
,tanulo.C_SZULETESIDATUM as SzuletesiIdo
|
|
,osztalycsoport.C_NEV as OsztalyNev
|
|
FROM T_FELHASZNALO tanulo
|
|
LEFT JOIN T_TANULOCSOPORT tanulocsoport ON tanulocsoport.C_TANULOID = tanulo.ID
|
|
AND tanulocsoport.TOROLT = 'F'
|
|
LEFT JOIN T_OSZTALYCSOPORT osztalycsoport ON osztalycsoport.ID = tanulocsoport.C_OSZTALYCSOPORTID
|
|
AND osztalycsoport.TOROLT = 'F'
|
|
WHERE tanulo.TOROLT = 'F'
|
|
AND osztalycsoport.ID = @pOsztalyCsoportId
|
|
) currenttanulo ON currenttanulo.OktatasiAzonosito IS NOT NULL
|
|
AND (@pTanuloNeve IS NULL OR currenttanulo.TanuloNev LIKE ('%'+ @pTanuloNeve +'%'))
|
|
AND (@pAnyjaNeve IS NULL OR currenttanulo.AnyjaNeve LIKE ('%'+ @pAnyjaNeve +'%'))
|
|
LEFT JOIN T_TANULOKOZOSSEGISZOLGALAT_OSSZES kozossegiszolgalat ON kozossegiszolgalat.C_TANULOID = Tanulo.ID
|
|
AND kozossegiszolgalat.C_INTEZMENYID = @pIntezmenyId
|
|
AND (@pIdoszakKezdete IS NULL OR kozossegiszolgalat.C_INTERVALLUMKEZDETE >= @pIdoszakKezdete)
|
|
AND (@pIdoszakVege IS NULL OR kozossegiszolgalat.C_INTERVALLUMVEGE <= @pIdoszakVege)
|
|
AND kozossegiszolgalat.TOROLT = 'F'
|
|
WHERE tanulo.C_OKTATASIAZONOSITO = currenttanulo.OktatasiAzonosito
|
|
AND tanulo.C_INTEZMENYID = @pIntezmenyId
|
|
AND tanulo.TOROLT = 'F'
|
|
GROUP BY currenttanulo.TanuloId, currenttanulo.TanuloNev, currenttanulo.Nevsorrend, currenttanulo.TanuloVezeteknev,
|
|
currenttanulo.TanuloUtonev, currenttanulo.AnyjaNeve, currenttanulo.SzuletesiIdo, currenttanulo.OsztalyNev
|
|
) result
|
|
WHERE (@pOsszesOraszamKezdete IS NULL OR @pOsszesOraszamKezdete >= result.OsszesOraszam)
|
|
AND (@pOsszesOraszamVege IS NULL OR @pOsszesOraszamVege <= result.OsszesOraszam)
|
|
ORDER BY result.TanuloNevElotagNelkul ASC
|
|
END
|
|
GO
|