﻿ 
 SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

IF OBJECT_ID('[dbo].[sp_GetTanulokLakcimmel]') IS NOT NULL 
BEGIN
  DROP PROCEDURE [dbo].[sp_GetTanulokLakcimmel]
END  
GO

CREATE PROCEDURE [dbo].[sp_GetTanulokLakcimmel]

 @pIntezmenyId INT
,@pTanevId INT
 

AS
BEGIN

	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

  SELECT DISTINCT
                    felhasznalo.C_NYOMTATASINEV																		as  Neve
					,dbo.fnGetTanuloAktualisOsztaly(felhasznalo.ID)													as  Osztaly
                    , CONVERT(nvarchar(25), felhasznalo.C_SZULETESIDATUM, 102) 										as  SzuletesiDatuma
                    , felhasznalo.C_ANYJANEVE 																		as  AnyjaNeve
                    , felhasznalo.C_OKTATASIAZONOSITO 																as  OktatasiAzonositoja
                    , IIF(tanulo.C_KOLLEGIUMIELLATASOS = 'T', 'Igen', 'Nem') 										as  KollegiumiEllatasos
                    , IIF(tanulo.C_BEJARO = 'T', 'Igen', 'Nem') 													as  Bejaro
                    , IIF(telefon.C_TELEFONSZAM IS NULL, '', telefon.C_TELEFONSZAM) 								as  Telefon
                    , IIF(email.C_EMAILCIM IS NULL, '', email.C_EMAILCIM) 											as  EmailCim
                    , IIF(lakcim_allando.C_IRANYITOSZAM IS NULL, '', lakcim_allando.C_IRANYITOSZAM)					as  AllandoLakcimIranyitoszam
                    , IIF(lakcim_allando.C_VAROS IS NULL, '', lakcim_allando.C_VAROS)								as  AllandoLakcimVaros
                    , IIF(lakcim_allando.C_KOZTERULET IS NULL, '', lakcim_allando.C_KOZTERULET)						as  AllandoLakcimKozteruletNeve
                    , IIF(lakcim_allando.C_KOZTERULETJELLEGE IS NULL, '', lakcim_allando_dib.C_NAME)				as  AllandoLakcimKozteruletJellege
                    , IIF(lakcim_allando.C_HAZSZAM IS NULL, '', lakcim_allando.C_HAZSZAM)							as  AllandoLakcimHazszam
                    , IIF(lakcim_allando.C_EMELET IS NULL, '', lakcim_allando.C_EMELET)								as  AllandoLakcimEmelet
                    , IIF(lakcim_allando.C_AJTO IS NULL, '', lakcim_allando.C_AJTO)									as  AllandoLakcimAjto
                    , IIF(lakcim_ideiglenes.C_IRANYITOSZAM IS NULL, '', lakcim_ideiglenes.C_IRANYITOSZAM)			as  IdeiglenesLakcimIranyitoszam
                    , IIF(lakcim_ideiglenes.C_VAROS IS NULL, '', lakcim_ideiglenes.C_VAROS)							as  IdeiglenesLakcimVaros
                    , IIF(lakcim_ideiglenes.C_KOZTERULET IS NULL, '', lakcim_ideiglenes.C_KOZTERULET)				as  IdeiglenesLakcimKozteruletNeve
                    , IIF(lakcim_ideiglenes.C_KOZTERULETJELLEGE IS NULL, '', lakcim_ideiglenes_dib.C_NAME)			as  IdeiglenesLakcimKozteruletJellege
                    , IIF(lakcim_ideiglenes.C_HAZSZAM IS NULL, '', lakcim_ideiglenes.C_HAZSZAM)						as  IdeiglenesLakcimHazszam
                    , IIF(lakcim_ideiglenes.C_EMELET IS NULL, '', lakcim_ideiglenes.C_EMELET)						as  IdeiglenesLakcimEmelet
                    , IIF(lakcim_ideiglenes.C_AJTO IS NULL, '', lakcim_ideiglenes.C_AJTO)							as  IdeiglenesLakcimAjto
                    , IIF(lakcim_tartozkodas.C_IRANYITOSZAM IS NULL, '', lakcim_tartozkodas.C_IRANYITOSZAM)			as  TartozkodasiHelyIranyitoszam
                    , IIF(lakcim_tartozkodas.C_VAROS IS NULL, '', lakcim_tartozkodas.C_VAROS)						as  TartozkodasiHelyVaros
                    , IIF(lakcim_tartozkodas.C_KOZTERULET IS NULL, '', lakcim_tartozkodas.C_KOZTERULET)				as  TartozkodasiHelyKozteruletNeve
                    , IIF(lakcim_tartozkodas.C_KOZTERULETJELLEGE IS NULL, '', lakcim_tartozkodas_dib.C_NAME)		as  TartozkodasiHelyKozteruletJellege
                    , IIF(lakcim_tartozkodas.C_HAZSZAM IS NULL, '', lakcim_tartozkodas.C_HAZSZAM)					as  TartozkodasiHelyHazszam
                    , IIF(lakcim_tartozkodas.C_EMELET IS NULL, '', lakcim_tartozkodas.C_EMELET)						as  TartozkodasiHelyEmelet
                    , IIF(lakcim_tartozkodas.C_AJTO IS NULL, '', lakcim_tartozkodas.C_AJTO)							as  TartozkodasiHelyAjto
                    , IIF(lakcim_intezmeny.C_IRANYITOSZAM IS NULL, '', lakcim_intezmeny.C_IRANYITOSZAM)				as  IntezmenycimIranyitoszam
                    , IIF(lakcim_intezmeny.C_VAROS IS NULL, '', lakcim_intezmeny.C_VAROS)							as  IntezmenycimVaros
                    , IIF(lakcim_intezmeny.C_KOZTERULET IS NULL, '', lakcim_intezmeny.C_KOZTERULET)					as  IntezmenycimKozteruletNeve
                    , IIF(lakcim_intezmeny.C_KOZTERULETJELLEGE IS NULL, '', lakcim_intezmeny_dib.C_NAME)			as  IntezmenycimKozteruletJellege
                    , IIF(lakcim_intezmeny.C_HAZSZAM IS NULL, '', lakcim_intezmeny.C_HAZSZAM)						as  IntezmenycimHazszam
                    , IIF(lakcim_intezmeny.C_EMELET IS NULL, '', lakcim_intezmeny.C_EMELET)							as  IntezmenycimEmelet
                    , IIF(lakcim_intezmeny.C_AJTO IS NULL, '', lakcim_intezmeny.C_AJTO)								as  IntezmenycimAjto
                    , IIF(lakcim_na.C_IRANYITOSZAM IS NULL, '', lakcim_na.C_IRANYITOSZAM)							as  IsmeretlenLakcimIranyitoszam
                    , IIF(lakcim_na.C_VAROS IS NULL, '', lakcim_na.C_VAROS)											as  IsmeretlenLakcimVaros
                    , IIF(lakcim_na.C_KOZTERULET IS NULL, '', lakcim_na.C_KOZTERULET)								as  IsmeretlenLakcimKozteruletNeve
                    , IIF(lakcim_na.C_KOZTERULETJELLEGE IS NULL, '', lakcim_na_dib.C_NAME)							as  IsmeretlenLakcimKozteruletJellege
                    , IIF(lakcim_na.C_HAZSZAM IS NULL, '', lakcim_na.C_HAZSZAM)										as  IsmeretlenLakcimHazszam
                    , IIF(lakcim_na.C_EMELET IS NULL, '', lakcim_na.C_EMELET)										as  IsmeretlenLakcimEmelet
                    , IIF(lakcim_na.C_AJTO IS NULL, '', lakcim_na.C_AJTO)											as  IsmeretlenLakcimAjto
                FROM T_TANULO_OSSZES tanulo
                    JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = tanulo.ID AND tanulo.C_ALINTEZMENYID = felhasznalo.C_INTEZMENYID AND felhasznalo.C_TANEVID = @pTanevId
                    LEFT JOIN T_CIM_OSSZES lakcim_allando ON lakcim_allando.TOROLT = 'F' AND lakcim_allando.C_GONDVISELOID IS NULL AND lakcim_allando.C_FELHASZNALOID = tanulo.ID AND tanulo.C_ALINTEZMENYID = lakcim_allando.C_INTEZMENYID AND (SELECT COUNT(1) FROM T_DICTIONARYITEMBASE lakcim_allando_dib WHERE lakcim_allando.C_CIMTIPUSA = lakcim_allando_DIB.ID AND tanulo.C_ALINTEZMENYID = lakcim_allando_dib.C_INTEZMENYID AND lakcim_allando_dib.C_NAME = 'Állandó lakcím') > 0 AND lakcim_allando.C_TANEVID = @pTanevId
                    LEFT JOIN T_CIM_OSSZES lakcim_tartozkodas ON lakcim_tartozkodas.TOROLT = 'F' AND lakcim_tartozkodas.C_GONDVISELOID IS NULL AND lakcim_tartozkodas.C_FELHASZNALOID = tanulo.ID AND tanulo.C_ALINTEZMENYID = lakcim_tartozkodas.C_INTEZMENYID AND (SELECT COUNT(1) FROM T_DICTIONARYITEMBASE lakcim_tartozkodas_dib WHERE lakcim_tartozkodas.C_CIMTIPUSA = lakcim_tartozkodas_dib.ID AND tanulo.C_ALINTEZMENYID = lakcim_tartozkodas_dib.C_INTEZMENYID AND lakcim_tartozkodas_dib.C_NAME = 'Tartózkodási hely') > 0 AND lakcim_tartozkodas.C_TANEVID = @pTanevId
                    LEFT JOIN T_CIM_OSSZES lakcim_ideiglenes ON lakcim_ideiglenes.TOROLT = 'F' AND lakcim_ideiglenes.C_GONDVISELOID IS NULL AND lakcim_ideiglenes.C_FELHASZNALOID = tanulo.ID AND tanulo.C_ALINTEZMENYID = lakcim_ideiglenes.C_INTEZMENYID AND (SELECT COUNT(1) FROM T_DICTIONARYITEMBASE lakcim_ideiglenes_dib WHERE lakcim_ideiglenes.C_CIMTIPUSA = lakcim_ideiglenes_dib.ID AND tanulo.C_ALINTEZMENYID = lakcim_ideiglenes_dib.C_INTEZMENYID AND lakcim_ideiglenes_dib.C_NAME = 'Ideiglenes lakcím') > 0 AND lakcim_ideiglenes.C_TANEVID = @pTanevId
                    LEFT JOIN T_CIM_OSSZES lakcim_intezmeny ON lakcim_intezmeny.TOROLT = 'F 'AND lakcim_intezmeny.C_GONDVISELOID IS NULL AND lakcim_intezmeny.C_FELHASZNALOID = tanulo.ID AND tanulo.C_ALINTEZMENYID = lakcim_intezmeny.C_INTEZMENYID AND (SELECT COUNT(1) FROM T_DICTIONARYITEMBASE lakcim_intezmeny_dib WHERE lakcim_intezmeny.C_CIMTIPUSA = lakcim_intezmeny_dib.ID AND tanulo.C_ALINTEZMENYID = lakcim_intezmeny_dib.C_INTEZMENYID AND lakcim_intezmeny_dib.C_NAME = 'Intézménycím') > 0 AND lakcim_intezmeny.C_TANEVID = @pTanevId
                    LEFT JOIN T_CIM_OSSZES lakcim_na ON lakcim_na.TOROLT = 'F' AND lakcim_na.C_GONDVISELOID IS NULL AND lakcim_na.C_FELHASZNALOID = tanulo.ID AND tanulo.C_ALINTEZMENYID = lakcim_na.C_INTEZMENYID AND (SELECT COUNT(1) FROM T_DICTIONARYITEMBASE lakcim_na_dib WHERE lakcim_na.C_CIMTIPUSA = lakcim_na_dib.ID AND tanulo.C_ALINTEZMENYID = lakcim_na_dib.C_INTEZMENYID AND lakcim_na_dib.C_NAME = 'Na') > 0 AND lakcim_na.C_TANEVID = @pTanevId
                    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES lakcim_allando_dib ON lakcim_allando.C_KOZTERULETJELLEGE = lakcim_allando_DIB.ID AND tanulo.C_ALINTEZMENYID = lakcim_allando_dib.C_INTEZMENYID AND lakcim_allando_dib.C_TANEVID = @pTanevId
                    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES lakcim_tartozkodas_dib ON lakcim_tartozkodas.C_KOZTERULETJELLEGE = lakcim_tartozkodas_dib.ID AND tanulo.C_ALINTEZMENYID = lakcim_tartozkodas_dib.C_INTEZMENYID AND lakcim_tartozkodas_dib.C_TANEVID = @pTanevId
                    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES lakcim_ideiglenes_dib ON lakcim_ideiglenes.C_KOZTERULETJELLEGE = lakcim_ideiglenes_dib.ID AND tanulo.C_ALINTEZMENYID = lakcim_ideiglenes_dib.C_INTEZMENYID AND lakcim_ideiglenes_dib.C_TANEVID = @pTanevId
                    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES lakcim_intezmeny_dib ON lakcim_intezmeny.C_KOZTERULETJELLEGE = lakcim_intezmeny_dib.ID AND tanulo.C_ALINTEZMENYID = lakcim_intezmeny_dib.C_INTEZMENYID AND lakcim_intezmeny_dib.C_TANEVID = @pTanevId
                    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES lakcim_na_dib ON lakcim_na.C_KOZTERULETJELLEGE = lakcim_na_dib.ID AND tanulo.C_ALINTEZMENYID = lakcim_na_dib.C_INTEZMENYID AND lakcim_na_dib.C_TANEVID = @pTanevId
                    LEFT JOIN T_TELEFON_OSSZES telefon ON telefon.C_FELHASZNALOID = tanulo.ID AND tanulo.C_ALINTEZMENYID = telefon.C_INTEZMENYID AND telefon.C_TANEVID = @pTanevId AND telefon.C_GONDVISELOID IS NULL AND telefon.TOROLT = 'F'
                    LEFT JOIN T_EMAIL_OSSZES email ON email.C_FELHASZNALOID = tanulo.ID AND tanulo.C_ALINTEZMENYID = email.C_INTEZMENYID AND email.C_TANEVID = @pTanevId AND email.C_GONDVISELOID IS NULL AND email.TOROLT = 'F'
                WHERE 	
		            tanulo.C_ALINTEZMENYID = @pIntezmenyId AND 
		            felhasznalo.TOROLT = 'F' AND 
		            tanulo.TOROLT = 'F' AND tanulo.C_ALTANEVID = @pTanevId
                ORDER BY
                    felhasznalo.C_NYOMTATASINEV
END