51 lines
2.3 KiB
Transact-SQL
51 lines
2.3 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.
|
|
-- ================================================
|
|
IF OBJECT_ID('sp_GetHianyzoDuplikaltTanarok') IS NOT NULL BEGIN
|
|
DROP PROCEDURE sp_GetHianyzoDuplikaltTanarok
|
|
END
|
|
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 xml
|
|
,@feladatellatasiHelyId int
|
|
,@tanevId int
|
|
,@intezmenyId 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_OSSZES WHERE TOROLT = 'F' AND C_TANEVID = @tanevId) FELH ON ( RTRIM(LTRIM(TANAROK.TANARNEV)) = FELH.C_NYOMTATASINEV
|
|
AND NOT EXISTS (SELECT 1 FROM T_TANULO_OSSZES t where t.ID = FELH.ID AND t.C_ALTANEVID = @tanevId)
|
|
AND (TANAROK.SZULETESIDATUM IS NULL OR TANAROK.SZULETESIDATUM = FELH.C_SZULETESIDATUM
|
|
AND EXISTS ( SELECT 1 FROM T_MUNKAUGYIADATOK_OSSZES tm
|
|
WHERE tm.C_ALKALMAZOTTID = FELH.ID AND tm.TOROLT='F' AND tm.C_FELADATELLATASIHELYID = @feladatellatasiHelyId AND tm.C_TANEVID = @tanevId)
|
|
AND FELH.TOROLT = 'F'))
|
|
GROUP BY TANAROK.TANARNEV, TANAROK.SZULETESIDATUM
|
|
HAVING (COUNT(FELH.ID) <> 1)
|
|
ORDER BY TANAROK.TANARNEV, TANAROK.SZULETESIDATUM
|
|
END
|
|
GO
|