57 lines
No EOL
1.4 KiB
Transact-SQL
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 |