51 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
-- =============================================
 | 
						|
-- Description:  <Előszedjük a tanuló értékeléseket a megadott paraméterek alapján>
 | 
						|
-- =============================================
 | 
						|
DROP PROCEDURE IF EXISTS uspGetTanulokSzamonkeresElorejelzesei
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE uspGetTanulokSzamonkeresElorejelzesei
 | 
						|
   @IntezmenyId int
 | 
						|
  ,@TanevId int
 | 
						|
  ,@pDatum datetime
 | 
						|
  ,@pOraGroupId int 
 | 
						|
  ,@pOsztalyCsoportId int
 | 
						|
  ,@pNapiSzamonkeresLimit int
 | 
						|
  ,@pErtekelesTipusokLimithez nvarchar(max)
 | 
						|
  
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
  
 | 
						|
  CREATE TABLE #OsztalyCsoport (Id int PRIMARY KEY)
 | 
						|
  
 | 
						|
  INSERT INTO  #OsztalyCsoport (Id)
 | 
						|
  SELECT ID
 | 
						|
  FROM  dbo.fnGetKapcsolodoOsztalycsoportokByDate (@pOsztalyCsoportId, @pDatum, @pDatum)
 | 
						|
 | 
						|
  CREATE TABLE #Tanulo (Id int PRIMARY KEY, Nev nvarchar(300))
 | 
						|
 | 
						|
  INSERT INTO  #Tanulo (Id,Nev)
 | 
						|
  SELECT fh.ID, fh.C_NYOMTATASINEV 
 | 
						|
  FROM T_TANULOCSOPORT tcs
 | 
						|
  INNER JOIN T_FELHASZNALO fh ON fh.ID = tcs.C_TANULOID AND fh.TOROLT = 'F'
 | 
						|
  WHERE tcs.C_OSZTALYCSOPORTID = @pOsztalyCsoportId AND (tcs.C_BELEPESDATUM <= @pDatum AND (tcs.C_KILEPESDATUM > @pDatum OR tcs.C_KILEPESDATUM IS NULL))
 | 
						|
  
 | 
						|
  CREATE TABLE #TanuloSzamonkeresei (Id int PRIMARY KEY, Nev nvarchar(300), SzamonkeresekSzama int)
 | 
						|
  
 | 
						|
  INSERT INTO  #TanuloSzamonkeresei (Id,Nev,SzamonkeresekSzama)
 | 
						|
  SELECT t.id,t.Nev, COUNT(1) as SzamonkeresekSzama
 | 
						|
  FROM T_SZAMONKERESELOREJELZES szk
 | 
						|
    INNER JOIN T_ORARENDIORA oo ON oo.C_ORARENDIORAGROUPID = szk.C_ORARENDIORAGROUPID AND szk.C_SZAMONKERESDATUMA >= oo.C_ORAERVENYESSEGKEZDETE AND szk.C_SZAMONKERESDATUMA < oo.C_ORAERVENYESSEGVEGE AND oo.TOROLT = 'F'
 | 
						|
    INNER JOIN #OsztalyCsoport ocs ON ocs.Id = oo.C_OSZTALYCSOPORTID
 | 
						|
    INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID = oo.C_OSZTALYCSOPORTID
 | 
						|
    INNER JOIN #Tanulo t ON t.id = tcs.C_TANULOID
 | 
						|
  WHERE szk.C_SZAMONKERESDATUMA = @pDatum AND szk.C_SZAMONKERESTIPUSID IN (SELECT value FROM STRING_SPLIT(@pErtekelesTipusokLimithez ,','))
 | 
						|
   AND szk.C_INTEZMENYID = @IntezmenyId AND szk.C_TANEVID = @TanevId AND szk.TOROLT = 'F'
 | 
						|
  GROUP BY t.id, t.Nev
 | 
						|
 | 
						|
  
 | 
						|
  SELECT * FROM #TanuloSzamonkeresei WHERE SzamonkeresekSzama > @pNapiSzamonkeresLimit
 | 
						|
 | 
						|
END
 | 
						|
GO
 |