DROP PROCEDURE IF EXISTS dbo.uspGetEUgyintezokEsOsztalyfonokokEsHelyettesek
GO

CREATE PROCEDURE uspGetEUgyintezokEsOsztalyfonokokEsHelyettesek
  @pEUgyintezoSzerepkorTipusId int

AS BEGIN
  SET NOCOUNT ON;

  SELECT
     fh.ID AS KretaAzonosito
    ,fh.C_NYOMTATASINEV AS Nev
    ,fh.C_EGYEDIAZONOSITO AS EgyediAzonosito
    ,fh.C_IDPEGYEDIAZONOSITO AS IdpEgyediAzonosito
  FROM T_FELHASZNALO fh
    INNER JOIN (
      SELECT C_OSZTALYFONOKID AS AlkalmazottId
      FROM T_OSZTALY
      WHERE TOROLT = 'F' AND C_OSZTALYFONOKID IS NOT NULL

      UNION

      SELECT C_OFOHELYETTESID AS AlkalmazottId
      FROM T_OSZTALY
      WHERE TOROLT = 'F' AND C_OFOHELYETTESID IS NOT NULL      

      UNION

      SELECT fsz.C_FELHASZNALOID AS AlkalmazottId
      FROM T_FELHASZNALO_SZEREPKOR fsz
        INNER JOIN T_SZEREPKOR szk on fsz.C_SZEREPKORID = szk.ID
          AND szk.C_SZEREPKORTIPUS = @pEUgyintezoSzerepkorTipusId
      ) Alkalmazottak ON Alkalmazottak.AlkalmazottId = fh.ID
  WHERE fh.TOROLT = 'F'
END
GO
