sql >> Database >  >> RDS >> Oracle

SQL-query werkt in PL/SQL maar niet in Visual Studio

Je tweede vraag is zoveel leuker om te schrijven als:

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 ;

Of misschien de select moet zijn:

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

(De eerste versie ging ervan uit dat de velden in de tweede subquery op nul werden gezet omdat ze NULL zijn in de gegevens, maar dat is misschien niet waar.)

Applicatiesoftware is echter nog niet slim genoeg om dergelijke onhandig geschreven vragen te herkennen, dus dat is niet het werkelijke probleem waarmee u te maken hebt. Als de query werkt in de database, maar niet in de toepassing, dan zijn typische problemen:

  • De applicatie is niet verbonden met de juiste database.
  • De applicatie heeft geen rechten voor de database of tabel.
  • De toepassingsquery verschilt van de query die in de database wordt uitgevoerd, meestal vanwege een vervangingsprobleem.
  • De resultaten van het uitvoeren van de query in de toepassing worden niet correct geïnterpreteerd.



  1. Tabeltype retourneren van een functie in PostgreSQL

  2. mysql innodb:beschrijf tabel toont geen kolomverwijzingen, wat laat ze zien?

  3. Minimaliseren van SQL-query's met behulp van join met een-op-veel-relatie

  4. Mysql-limiet met in-statement