
select
entidade.id,
entidade.nomefantasia,
(
  select top 1
    iif(endereco.tplogr is not null, endereco.tplogr  + ' ', '') +
    coalesce(endereco.logradouro, '') +
    iif(endereco.numlogr is not null, ', ' + endereco.numlogr, '')
  from enti_ende as endereco where enti = entidade.id
) as endereco,
entidade.complemento,
Cida_Bairro.descricao as bairro,
cidade.descricao as cidade,
entidade.estado,
entidade.cep,
(
  coalesce(entidade.telefone1, '') + ' ' +
  coalesce(entidade.telefone2, '') + ' ' +
  coalesce(entidade.telefone3, '') + ' ' +
  coalesce(entidade.telefone4, '')
) as telefones,
(
  coalesce(entidade.fax1, '') + ' ' +
  coalesce(entidade.fax2, '')
) as fax,
entidade.dtfundacao,
STATUSCUT.descricao as statcut,
entidade.razaosocial,
entidade.email,
enti_elei.DtElei,
enti_elei.dtposse,
enti_elei.durman,
CARGDIRE.Descricao as cargocut,
pessoacut.Nome,
entidade_base.razaosocial as razaosocial_nome,
entidade_base.sigla as sigla_base,
cidade_base.descricao as cidade_base,
entidade_base.estado as estado_base

from entidade
left join Cida_Bairro on entidade.bairro = Cida_Bairro.seq and entidade.cidade = Cida_Bairro.cida and entidade.Estado = Cida_Bairro.uf
left join cidade on entidade.cidade = cidade.seq and entidade.Estado = cidade.uf
left join STATUSCUT on entidade.StatCut = STATUSCUT.id
left join ENTI_ELEI on entidade.id = ENTI_ELEI.enti
  and enti_elei.DtElei > all(
    select DtElei
    from ENTI_ELEI as enti_elei2
    where ENTI_ELEI.enti = enti_elei2.enti
    and ENTI_ELEI.seq <> enti_elei2.seq
  )
left join enti_elei_dire on enti_elei_dire.enti = entidade.id and enti_elei_dire.elei = enti_elei.seq
left join CARGDIRE on enti_elei_dire.CargoCut = CARGdire.Id
left join PESSOACUT on PESSOACUT.id = enti_elei_dire.pess
left join entidade as entidade_base on entidade_base.id = PESSOACUT.enti
left join cidade as cidade_base on entidade_base.cidade = cidade_base.seq and entidade_base.Estado = cidade_base.uf
where entidade.id in (
  6564,
  9613,
  665,
  6019,
  6603
)
