init
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
DROP PROCEDURE IF EXISTS uspGetBukasokSzama
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE uspGetBukasokSzama
|
||||
@pTanevId int
|
||||
,@pTanarId int
|
||||
,@pDarab int
|
||||
,@pBukasAtlag float
|
||||
AS BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE
|
||||
@pBelepesDatum date
|
||||
,@pKilepesDatum date
|
||||
,@pUtolsoTanitasDatum date
|
||||
|
||||
SELECT
|
||||
@pBelepesDatum = (CASE WHEN tanev.C_AKTIV = 'T' THEN GETDATE() ELSE tanev.C_UTOLSOTANITASINAP END)
|
||||
,@pKilepesDatum = (CASE WHEN tanev.C_AKTIV = 'T' THEN GETDATE() ELSE tanev.C_ELSOTANITASINAP END)
|
||||
,@pUtolsoTanitasDatum = tanev.C_UTOLSOTANITASINAP
|
||||
FROM T_TANEV_OSSZES tanev
|
||||
WHERE tanev.TOROLT = 'F'
|
||||
AND tanev.ID = @pTanevId
|
||||
|
||||
SELECT TOP (@pDarab)
|
||||
fh.C_NYOMTATASINEV AS Nev
|
||||
,ocs.C_NEV AS Osztaly
|
||||
,COUNT(ertekeles.C_TANTARGYID) AS TantargyakSzama
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON f.C_OSZTALYCSOPORTID = ocs.ID
|
||||
AND ocs.C_TANEVID = f.C_TANEVID
|
||||
AND ocs.TOROLT = 'F'
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON ocs.ID = tcs.C_OSZTALYCSOPORTID
|
||||
AND tcs.C_BELEPESDATUM <= @pBelepesDatum
|
||||
AND (tcs.C_KILEPESDATUM > @pKilepesDatum OR tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= @pUtolsoTanitasDatum)
|
||||
AND tcs.C_TANEVID = f.C_TANEVID
|
||||
AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fh ON tcs.C_TANULOID = fh.ID
|
||||
AND fh.C_TANEVID = f.C_TANEVID
|
||||
AND fh.TOROLT = 'F'
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
te.C_TANULOID
|
||||
,te.C_OSZTALYCSOPORTID
|
||||
,te.C_TANTARGYID
|
||||
FROM T_TANULOERTEKELES_OSSZES te
|
||||
INNER JOIN T_OSZTALYZATTIPUS_OSSZES ot ON te.C_ERTEKELESOSZTALYZATID = ot.ID
|
||||
AND ot.C_ALTANEVID = te.C_TANEVID
|
||||
AND ot.TOROLT = 'F'
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON ot.ID = d.ID
|
||||
AND d.C_TANEVID = te.C_TANEVID
|
||||
AND d.TOROLT = 'F'
|
||||
LEFT JOIN T_TANARIATLAGSULY_OSSZES ta ON te.C_ERTEKELESMODID = ta.C_ERTEKELESMODID
|
||||
AND ta.C_TANEVID = te.C_TANEVID
|
||||
AND ta.TOROLT = 'F'
|
||||
AND te.C_ERTEKELESOSZTALYZATID IS NOT NULL
|
||||
WHERE te.C_TANEVID = @pTanevId
|
||||
AND te.TOROLT = 'F'
|
||||
GROUP BY
|
||||
te.C_TANULOID
|
||||
,te.C_OSZTALYCSOPORTID
|
||||
,te.C_TANTARGYID
|
||||
HAVING ROUND(SUM(CAST(d.C_VALUE AS float) * CAST(ISNULL(ta.C_SULY, 100) AS float) / 100) / SUM(CAST(ISNULL(ta.C_SULY, 100) AS float) / 100), 2) < @pBukasAtlag
|
||||
) ertekeles ON ertekeles.C_TANULOID = fh.ID
|
||||
AND ertekeles.C_OSZTALYCSOPORTID = f.C_OSZTALYCSOPORTID
|
||||
AND ertekeles.C_TANTARGYID = f.C_TANTARGYID
|
||||
WHERE f.C_TANEVID = @pTanevId
|
||||
AND f.TOROLT = 'F'
|
||||
AND f.C_TANARID = @pTanarId
|
||||
GROUP BY
|
||||
fh.C_NYOMTATASINEV
|
||||
,ocs.C_NEV
|
||||
ORDER BY
|
||||
fh.C_NYOMTATASINEV
|
||||
,ocs.C_NEV
|
||||
|
||||
END
|
||||
GO
|
Reference in New Issue
Block a user