Ajuda com java e select no banco

tenhu o seguinte select :

meu problema é o seguinte: tenhu esse sum(mob_visita_questao.resposta), esse campo da tabela é varchar,
o que eu gostaria mas nao estou consguindo era fazer algo do tipo assim:

“if mob_visita_questao.resposta == ‘T’ ? count(mob_visita_questao.resposta) else
if mob_visita_questao.resposta == ‘F’ ? nao é pra fazer nda else
sum(mob_visita_questao.resposta)”

quero fazer esses if no select pra nao precisar tratar no java? alguem poderia me ajudar fazer

select destinatario.nomerazaosocial, sum(mob_visita_questao.resposta) as reposta from mob_visita_questao left join mob_questao on (mob_questao.questao = mob_visita_questao.questao) left join mob_visita on (mob_visita.visita = mob_visita_questao.visita) left join destinatario on (destinatario.destinatario = mob_visita.destinatario) where (mob_questao.tipo = 'SN' or mob_questao.tipo = 'NUM') and mob_visita_questao.questao=148 and (mob_visita_questao.dataresposta >= '11-29-2011 00:00' and mob_visita_questao.dataresposta <= '11-29-2011 23:59') group by destinatario.nomerazaosocial

cara não sei se entendi direito, mas sua dúvida seria como fazer um “if” na query?? se for isso
basta colocar o seguinte:

 decode(mob_visita_questao.resposta,'T', count(mob_visita_questao.resposta))

blz e se eu precisar de um else (argumentos…) como isso ficaria?

no proprio decode

decode(mob_visita_questao.resposta,'T', count(mob_visita_questao.resposta, 'seu Else')) 

caso queira um else if basta colocar a segunda validação onde tem o ‘seu Else’ assim:

decode(mob_visita_questao.resposta,'T', count(mob_visita_questao.resposta, 'D' , 1 ) ) 

nesse caso ele testa se mob_visita_questao.resposta = ‘T’ caso contrário se é igual a ‘D’

caso vc tenha mais opções o ideal é usar o case when:

case when tipo = 1 then 'Abacate' when tipo = 2 then 'Abobrinha' end as nome