Sua segunda consulta é muito mais agradável de escrever como:
select bzq_terminate_provider as PROVIDER, sum(callsnum) as CALLS,
sum(charge_amount) as CHARGE, sum(at_call_dur_sec) as DUR
from usage_cycle_sum
where ban = '80072922' and ben = '1' and
subscriber_no = '036585305' and
start_cycle_code ='20150207' and
feature_code_rank in ('1', '2')
group by bzq_terminate_provider ;
Ou talvez o
select
precisa ser:select bzq_terminate_provider as PROVIDER,
sum(case when feature = '1' then callsnum else 0 end) as CALLS,
sum(charge_amount) as CHARGE,
sum(case when feature = '1' then at_call_dur_sec else 0 end) as DUR
(A primeira versão assumiu que os campos foram zerados na segunda subconsulta porque eles são
NULL
nos dados, mas isso pode não ser verdade.) No entanto, o software de aplicativo ainda não é inteligente o suficiente para identificar essas consultas escritas de maneira desajeitada, de modo que não é esse o problema real que você está enfrentando. Se a consulta funcionar no banco de dados, mas não no aplicativo, os problemas típicos são:
- O aplicativo não está conectado ao banco de dados correto.
- O aplicativo não tem permissões no banco de dados ou na tabela.
- A consulta do aplicativo é diferente da consulta executada no banco de dados, normalmente devido a algum problema de substituição.
- Os resultados da execução da consulta no aplicativo não estão sendo interpretados corretamente.