0

レポートにカーソルが 1 つしかなく、レポートに紙のレイアウトがない (直接 CSV 形式になる) 新しいレポートを作成しています。

次のようなサブクエリを作成する必要があるクエリがあります

SELECT
         grou.GROUP_ID                            GROUP_ID
         ,grou.group_name                          group_name
         ....
         (((SELECT SUM(nett_instalment_invoice_amount) 
            FROM instalments
            WHERE member_product_id = member_product_id)) subscription)
FROM

.... 等々....

レポートのコンパイル中にエラーが発生しました

Encountered Symbol SELECT while expecting one of the following symbols:
(  +  - 

最後に group by 句を追加せずにこれを助けることができますか?

group by 句を挿入し、select (sum()) の代わりに sum 関数を直接使用するという別のアプローチを試みました。

緊急の助けが必要です。

ありがとう。

4

4 に答える 4

1

これには、次のように1つのパラメーター member_product_id を使用して get_installment_inv_sum と呼ぶ関数を作成することによる簡単な回避策があります。

create or replace function get_installment_inv_sum (p_member_product_id number) return number
as 
 v_sum number
begin
 SELECT SUM(nett_instalment_invoice_amount) 
            into v_sum
            FROM instalments
            WHERE member_product_id = p_member_product_id;
 return v_sum;
end;

次に、selectを次のように呼び出すことができます:

SELECT
         grou.GROUP_ID                            GROUP_ID
         ,grou.group_name                          group_name
         ....
         ,
         get_installment_inv_sum(member_product_id) subscription
FROM ...
于 2014-03-29T23:19:06.483 に答える
0

これは確かに許可されています:

select d.dname, (sum(e.sal) from emp e where e.deptno = d.deptno) as dept_sal
from dept d;

そして、これは次のとおりです。

select d.dname, sum(e.sal)
from dept d
left outer join emp e on e.deptno = d.deptno
group by d.dname;

それで、あなたは正確に何をしましたか?

于 2011-03-17T12:58:33.857 に答える
0

Oracle Reports のどのバージョンですか?

スカラー サブクエリ構文は Oracle 8/8i の頃に登場しましたが、Oracle レポートの開発は石器時代の頃に停止しました。過去 10 年以上にわたって強化された SQL 構文の多くは、採用されていません。

クエリの大部分をデータベースのビューとして作成し、レポートのビューから選択するだけでよい場合は、柔軟性が高くなります

于 2011-03-17T23:46:26.813 に答える