29 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
IF OBJECT_ID('fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet') IS NOT NULL BEGIN
 | 
						|
  DROP FUNCTION fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet
 | 
						|
END
 | 
						|
GO
 | 
						|
 | 
						|
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
CREATE FUNCTION fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet (@tanevId int, @osztalyId int)
 | 
						|
  RETURNS TABLE
 | 
						|
RETURN (
 | 
						|
	SELECT 
 | 
						|
		C_TANULOID						TanuloId
 | 
						|
		, ISNULL(t.C_FOTARGYID, t.ID)	TantargyId
 | 
						|
		, SUM(fog.C_ORASZAM) * IIF((SELECT C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId) = 'T', 32, 36)	Oraszam
 | 
						|
	FROM 
 | 
						|
		T_TANULOCSOPORT_OSSZES tcs
 | 
						|
	INNER JOIN T_FOGLALKOZAS_OSSZES fog ON fog.C_OSZTALYCSOPORTID = tcs.C_OSZTALYCSOPORTID
 | 
						|
	INNER JOIN T_TANTARGY_OSSZES t on t.ID = fog.C_TANTARGYID
 | 
						|
	WHERE 
 | 
						|
		tcs.C_TANULOID IN (	SELECT TanuloId FROM fnGetDokumentumOsztalyokTanuloi(@tanevId, @osztalyId, 'T') )
 | 
						|
		AND ((tcs.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_OSZTALY_OSSZES)) OR (tcs.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_CSOPORT_OSSZES WHERE C_TIPUSA=1034)))
 | 
						|
		AND tcs.TOROLT = 'F'
 | 
						|
		AND tcs.C_TANEVID = @tanevId
 | 
						|
	GROUP BY C_TANULOID, t.C_FOTARGYID, t.ID
 | 
						|
)
 |