44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
GO
 | 
						|
 | 
						|
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
IF OBJECT_ID('sp_GetDokumentumTanuloEvesOraszamai') IS NOT NULL BEGIN
 | 
						|
  DROP PROCEDURE [sp_GetDokumentumTanuloEvesOraszamai] 
 | 
						|
END  
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE sp_GetDokumentumTanuloEvesOraszamai
 | 
						|
	@osztalyId int
 | 
						|
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
	SET NOCOUNT ON;
 | 
						|
 | 
						|
DECLARE @students TABLE (ID INT, NaploSorszam INT, Rendez INT)
 | 
						|
INSERT INTO @students
 | 
						|
SELECT DISTINCT 
 | 
						|
	C_TANULOID 
 | 
						|
	, C_BEIRASINAPLOSORSZAM
 | 
						|
	, IIF(MONTH(C_BELEPESDATUM) BETWEEN 9 AND 10, 1, 2)
 | 
						|
FROM T_TANULOCSOPORT_OSSZES tcs
 | 
						|
INNER JOIN T_TANULO_OSSZES t on t.id=tcs.C_TANULOID
 | 
						|
WHERE C_OSZTALYCSOPORTID = @osztalyId 
 | 
						|
	AND tcs.TOROLT = 'F' 
 | 
						|
	AND (C_KILEPESDATUM IS NULL OR C_KILEPESDATUM > GETDATE()) 
 | 
						|
	AND C_BELEPESDATUM < GETDATE()
 | 
						|
 | 
						|
DECLARE @max INT = (SELECT MAX(NaploSorszam) FROM @students)
 | 
						|
DECLARE @tanuloSorszam TABLE (Tanulo INT, Sorszam INT)
 | 
						|
INSERT INTO @tanuloSorszam 
 | 
						|
SELECT 
 | 
						|
	s.ID
 | 
						|
	, ISNULL(NaploSorszam, @max + ROW_NUMBER() OVER (ORDER BY Rendez, C_NYOMTATASINEV)) 
 | 
						|
FROM @students s
 | 
						|
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID=s.ID
 | 
						|
GROUP BY s.Id, NaploSorszam, C_NYOMTATASINEV, Rendez
 | 
						|
 | 
						|
END 
 |