Files
2024-03-13 00:33:46 +01:00

52 lines
2.1 KiB
Transact-SQL

-- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters
-- command (Ctrl-Shift-M) to fill in the parameter
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Sólyom Péter
-- Create date: 2016.04.25.
-- Description: Az átadott xmlbõl (tanárok nevei) megvizsgálja hogy létezik ilyen nevû tanár a rendszerben és a név alapján egyértelmû (duplikált) vagy születési dátum alapján szûrt.
-- =============================================
CREATE PROCEDURE sp_GetHianyzoDuplikaltTanarok
-- Add the parameters for the stored procedure here
@TanarNevekXML as XML,
@FeladatellatasiHelyId AS int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @TEMPTANAROK TABLE ( TANARNEV NVARCHAR(255), SZULETESIDATUM DATE )
INSERT INTO @TEMPTANAROK
SELECT DISTINCT TanarNev = Tanar.value('(TanarNev)[1]', 'NVARCHAR(255)'),
SzuletesiDatum = Tanar.value('(SzuletesiDatum)[1]', 'DATE')
FROM @TanarNevekXML.nodes('/ArrayOfTanarNevekExcelModel/TanarNevekExcelModel') as Tanarok(Tanar)
SELECT TANAROK.TANARNEV, TANAROK.SZULETESIDATUM, COUNT(FELH.ID) TANAROKSZAMA
FROM @TEMPTANAROK TANAROK
LEFT JOIN (select * from T_FELHASZNALO where TOROLT = 'F') FELH ON ( RTRIM(LTRIM(TANAROK.TANARNEV)) = FELH.C_NYOMTATASINEV
AND NOT EXISTS (SELECT 1 FROM T_Tanulo t where t.ID=FELH.ID )
AND (TANAROK.SZULETESIDATUM IS NULL OR TANAROK.SZULETESIDATUM = FELH.C_SZULETESIDATUM
AND EXISTS ( SELECT 1 FROM T_MUNKAUGYIADATOK tm
WHERE TM.C_ALKALMAZOTTID = FELH.ID AND TM.TOROLT='F' AND TM.C_FELADATELLATASIHELYID = @FeladatellatasiHelyId)
AND FELH.TOROLT = 'F'))
GROUP BY TANAROK.TANARNEV, TANAROK.SZULETESIDATUM
HAVING (COUNT(FELH.ID) != 1)
ORDER BY TANAROK.TANARNEV, TANAROK.SZULETESIDATUM
END
GO