sql >> データベース >  >> RDS >> Oracle

SQLクエリはPL/SQLで機能しますが、VisualStudioでは機能しません

    2番目のクエリは、次のように記述した方がはるかに優れています。

    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 ;
    

    または、おそらくselect 必要なもの:

    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
    

    (最初のバージョンでは、フィールドがNULLであるため、2番目のサブクエリでフィールドがゼロになっていると想定していました。 データに含まれていますが、そうではない可能性があります。)

    しかし、アプリケーションソフトウェアは、そのような厄介に書かれたクエリを識別するのに十分なほど賢くないので、それはあなたが直面している実際の問題ではありません。クエリがデータベースで機能するが、アプリケーションでは機能しない場合、一般的な問題は次のとおりです。

    • アプリケーションが適切なデータベースに接続されていません。
    • アプリケーションにはデータベースまたはテーブルに対する権限がありません。
    • アプリケーションクエリは、データベースで実行されるクエリとは異なります。これは通常、置換の問題が原因です。
    • アプリケーションでクエリを実行した結果が正しく解釈されていません。



    1. 大規模データベース管理システム:設計および設計者

    2. シリアル番号を作成したい

    3. SQLServerの再帰的自己結合

    4. Oracleのバグにより、JSON_ARRAYAGGで重複する集計値が生成されます