DROP PROCEDURE IF EXISTS sp_PedagogusNemBejegyzettOraiOsszes GO CREATE PROCEDURE sp_PedagogusNemBejegyzettOraiOsszes @tanevID INT, @mindenHeten INT AS BEGIN SET NOCOUNT ON; SELECT C_NYOMTATASINEV Nev INTO #DuplikaltNevek FROM T_FELHASZNALO_OSSZES WHERE C_TANEVID = @tanevId AND TOROLT = 'F' GROUP BY C_NYOMTATASINEV HAVING COUNT(Id) > 1 SELECT DISTINCT T_FELHASZNALO_OSSZES.ID Id ,T_FELHASZNALO_OSSZES.C_NYOMTATASINEV + IIF(C_NYOMTATASINEV IN (SELECT NEV FROM #DuplikaltNevek), ' - ' + ISNULL(CAST(C_OKTATASIAZONOSITO AS NVARCHAR(MAX)), ''), '') Nev FROM T_FOGLALKOZAS_OSSZES INNER JOIN T_FELHASZNALO_OSSZES ON T_FELHASZNALO_OSSZES.ID=T_FOGLALKOZAS_OSSZES.C_TANARID WHERE T_FOGLALKOZAS_OSSZES.C_TANEVID=@tanevId AND T_FOGLALKOZAS_OSSZES.TOROLT = 'F' DECLARE kurzor CURSOR FOR SELECT DISTINCT T_FELHASZNALO_OSSZES.ID Id FROM T_FOGLALKOZAS_OSSZES INNER JOIN T_FELHASZNALO_OSSZES ON T_FELHASZNALO_OSSZES.ID=T_FOGLALKOZAS_OSSZES.C_TANARID WHERE T_FOGLALKOZAS_OSSZES.C_TANEVID=@tanevId AND T_FOGLALKOZAS_OSSZES.TOROLT = 'F' DECLARE @pedagogusId INT OPEN kurzor FETCH NEXT FROM kurzor INTO @pedagogusId WHILE @@FETCH_STATUS = 0 BEGIN EXEC sp_PedagogusNemBejegyzettOrai @tanevID, @mindenHeten, @pedagogusId FETCH NEXT FROM kurzor INTO @pedagogusId END CLOSE kurzor DEALLOCATE kurzor DROP TABLE #DuplikaltNevek END GO