sql >> Base de Datos >  >> RDS >> Oracle

La consulta SQL funciona en PL/SQL pero no en Visual Studio

Tu segunda consulta es mucho más agradable de escribir 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 ;

O, tal vez el select debe 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

(La primera versión supuso que los campos se pusieron a cero en la segunda subconsulta porque son NULL en los datos, pero eso podría no ser cierto.)

Sin embargo, el software de la aplicación aún no es lo suficientemente inteligente como para identificar consultas escritas de manera incómoda, por lo que ese no es el problema real al que se enfrenta. Si la consulta funciona en la base de datos, pero no en la aplicación, los problemas típicos son:

  • La aplicación no está conectada a la base de datos correcta.
  • La aplicación no tiene permisos en la base de datos o tabla.
  • La consulta de la aplicación es diferente de la consulta que se ejecuta en la base de datos, generalmente debido a algún problema de sustitución.
  • Los resultados de ejecutar la consulta en la aplicación no se interpretan correctamente.