Din andra fråga är så mycket trevligare att skriva som:
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 ;
Eller kanske select
måste vara:
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
(Den första versionen antog att fälten nollställdes i den andra underfrågan eftersom de är NULL
i data, men det kanske inte är sant.)
Programvaran är dock ännu inte smart nog att identifiera sådana besvärligt skrivna frågor, så det är inte det faktiska problemet du står inför. Om frågan fungerar i databasen, men inte i applikationen, är typiska problem:
- Applikationen är inte ansluten till rätt databas.
- Applikationen har inte behörighet för databasen eller tabellen.
- Programfrågan skiljer sig från den som körs i databasen, vanligtvis på grund av något ersättningsproblem.
- Resultaten från att köra frågan i programmet tolkas inte korrekt.