sql >> Databáze >  >> RDS >> Oracle

SQL dotaz funguje v PL/SQL, ale ne ve Visual Studiu

Váš druhý dotaz je mnohem hezčí napsat jako:

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 ;

Nebo možná select musí být:

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

(První verze předpokládala, že pole byla ve druhém dílčím dotazu vynulována, protože jsou NULL v datech, ale to nemusí být pravda.)

Aplikační software však ještě není dostatečně chytrý, aby dokázal identifikovat takové nešikovně napsané dotazy, takže to není skutečný problém, kterému čelíte. Pokud dotaz funguje v databázi, ale ne v aplikaci, pak typické problémy jsou:

  • Aplikace není připojena ke správné databázi.
  • Aplikace nemá oprávnění k databázi nebo tabulce.
  • Aplikační dotaz se liší od dotazu spuštěného v databázi, obvykle kvůli nějakému problému se záměnou.
  • Výsledky spuštění dotazu v aplikaci nejsou správně interpretovány.



  1. kurzor:pin S počkejte na X

  2. Získejte nejlepší výsledky pro každou skupinu (v Oracle)

  3. Pochopení analýzy velkých dat

  4. Existují nějaké bezplatné nástroje pro generování skriptů 'INSERT INTO' v MS SQL Server?