kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Stored procedures/sp_PedagogusNemBejegyzettOraiOsszes.sql
2024-03-13 00:33:46 +01:00

57 lines
No EOL
1.4 KiB
Transact-SQL

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