DROP PROCEDURE  IF EXISTS uspGetTanuloAdatokByKretaAzonositoEugyintezes 
GO

CREATE PROCEDURE uspGetTanuloAdatokByKretaAzonositoEugyintezes
  @pFelhasznaloId INT
AS
BEGIN
  SET NOCOUNT ON;

  SELECT DISTINCT Felhasznalo.ID AS KretaAzonosito
    ,Felhasznalo.C_OKTATASIAZONOSITO AS OktatasiAzonosito
    ,ISNULL(Felhasznalo.C_ELOTAG, '') AS Elotag
    ,Felhasznalo.C_VEZETEKNEV AS Vezeteknev
    ,Felhasznalo.C_UTONEV AS KeresztNev
    ,Felhasznalo.C_SZULETESIHELY AS SzuletesiHely
    ,Felhasznalo.C_SZULETESIDATUM AS SzuletesiIdo
    ,Felhasznalo.C_ANYJANEVE AS AnyjaNeve
    ,Cim.C_VAROS AS KeltezesHelyseg
    ,OrszagDictionaryItemBase.C_NAME AS Orszag
    ,Cim.C_ORSZAG AS OrszagId
    ,iso.C_ISOKOD AS Isokod
    ,Cim.C_IRANYITOSZAM AS Iranyitoszam
    ,Cim.C_VAROS AS Helyseg
    ,Cim.C_KOZTERULET AS KozteruletNeve
    ,Cim.C_KOZTERULETJELLEGENEV AS KozteruletJellege
    ,Cim.C_HAZSZAM AS Hazszam
    ,C_EMELET AS Emelet
    ,Cim.C_AJTO AS Ajto
    ,Cim.ID AS CimKretaAzonosito
    ,TanuloOsztaly.Osztaly
    ,Felhasznalo.C_EGYEDIAZONOSITO AS EgyediAzonosito
    ,Felhasznalo.C_IDPEGYEDIAZONOSITO AS IdpEgyediAzonosito
  FROM T_FELHASZNALO_OSSZES Felhasznalo
  LEFT JOIN T_CIM_OSSZES Cim ON Cim.C_FELHASZNALOID = Felhasznalo.ID
    AND Cim.ID = (
      SELECT TOP 1 Cim.ID
      FROM T_CIM_OSSZES Cim
      WHERE Cim.C_FELHASZNALOID = (
          SELECT Felhasznalo.ID
          FROM T_FELHASZNALO_OSSZES Felhasznalo
          WHERE Felhasznalo.ID = @pFelhasznaloId
            AND Felhasznalo.TOROLT = 'F'
          )
        AND Cim.C_CIMTIPUSA IN (
          906
          ,907
          ,909
          )
        AND Cim.TOROLT = 'F'
      ORDER BY Cim.C_CIMTIPUSA DESC
      )
    AND Cim.TOROLT = 'F'
  LEFT JOIN (
    SELECT TanuloCsoport.C_TANULOID AS TanuloId
      ,OsztalyCsoport.C_NEV AS Osztaly
    FROM T_TANULOCSOPORT_OSSZES TanuloCsoport
    INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = TanuloCsoport.C_OSZTALYCSOPORTID
      AND OsztalyCsoport.TOROLT = 'F'
    WHERE EXISTS (
        SELECT 1
        FROM T_OSZTALY_OSSZES Osztaly
        INNER JOIN T_OSZTALYCSOPORT_OSSZES InnerOsztalyCsoport ON InnerOsztalyCsoport.ID = Osztaly.ID
        AND InnerOsztalyCsoport.TOROLT = 'F'
        WHERE Osztaly.ID = OsztalyCsoport.ID
          AND Osztaly.TOROLT = 'F'
        )
      AND TanuloCsoport.TOROLT = 'F'
    ) TanuloOsztaly ON TanuloOsztaly.TanuloId = Felhasznalo.ID
  LEFT JOIN T_DICTIONARYITEMBASE_OSSZES OrszagDictionaryItemBase ON OrszagDictionaryItemBase.ID = Cim.C_ORSZAG
    AND OrszagDictionaryItemBase.TOROLT = 'F'
    AND OrszagDictionaryItemBase.C_INTEZMENYID = Felhasznalo.C_INTEZMENYID
    AND OrszagDictionaryItemBase.C_TANEVID = Felhasznalo.C_TANEVID
  LEFT JOIN T_ORSZAGTIPUS_OSSZES iso ON iso.ID = OrszagDictionaryItemBase.ID
    AND iso.C_ALTANEVID = OrszagDictionaryItemBase.C_TANEVID
    AND iso.TOROLT = 'F'
  WHERE Felhasznalo.TOROLT = 'F'
    AND Felhasznalo.ID = @pFelhasznaloId
END
GO


