Select CASE when, pegar somente primeira ocorrencia

Boa tarde, estou com dificuldades em fazer um select.
A estrutura das tabelas é a seguinte:

Cliente {
...
CliFis cliFis;
List<EndCliente> endsCliente;
...
}
CliFis {
...
String flCorrespondencia; //flag q seta qual endereço sera o "padrão"
...
}
EndCliente {
//tpEndereco
	public static final String ENDERECO_COMERCIAL = "C";
	public static final String ENDERECO_RESIDENCIAL = "R";
	public static final String ENDERECO_INTERNACIONAL = "I";
...
String tpEndereco;
String deEndereco;
...
}

Preciso pegar somente o endereço que estiver marcado como princial.
O select é esse:

select
iteminfofi0_.nuiteminfofiscal, titulo3_.cddocumento, titulo3_.nudocumento, titulo3_.nutitulo, titulo3_.cdcliente,
coalesce(clijur9_.nuCNPJ, clifis10_.nuCPF) as nuCNPJnuCPF, 'CR' as origem,
clifis10_.flCorrespondencia,
CASE
    when (clifis10_.flCorrespondencia = 'C' and endsclient6_.tpendereco = 'C') THEN endsclient6_.deendereco
    when (clifis10_.flCorrespondencia = 'R' and endsclient6_.tpendereco = 'R') THEN endsclient6_.tpendereco
    when (clifis10_.flCorrespondencia = 'I' and endsclient6_.tpendereco = 'I') THEN endsclient6_.tpendereco
end as deendereco

from ecrcItemInfoFiscal iteminfofi0_
inner join ecrcInfoFiscal infofiscal1_ on iteminfofi0_.nuTitulo=infofiscal1_.nuTitulo
inner join ecrcTitulo titulo3_ on infofiscal1_.nuTitulo=titulo3_.nuTitulo
inner join ecadDocumento documento4_ on titulo3_.cdDocumento=documento4_.cdDocumento
inner join ecadCliente cliente5_ on titulo3_.cdCliente=cliente5_.cdCliente
inner join ecadProdutoFiscal produtofis2_ on iteminfofi0_.cdProdutoFiscal=produtofis2_.cdProdutoFiscal

left outer join ecadEndCliente endsclient6_ on cliente5_.cdCliente=endsclient6_.cdCliente
left outer join ecadMunicipio municipio7_ on endsclient6_.cdMunicipio=municipio7_.cdMunicipio
left outer join ecadUF uf8_ on municipio7_.cdUF=uf8_.cdUF

left outer join ecadCliFis clifis10_ on cliente5_.cdCliente=clifis10_.cdCliente

where documento4_.flFiscal='S'
and infofiscal1_.cdFilial=1
and titulo3_.cdEmpresa=4
and (titulo3_.dtContabil between '2013.2.1' and '2013.2.28')
and (documento4_.cdModeloDoc in ('01', '1', '06'))
and cliente5_.fltpcliente = 'F'

A imagem mostra o resultado.
Sendo que o interessante seria somente os registros que contem informação no deeendereço.
Alguem poderia ma ajudar?