2011-08-16 7 views
1

次の表の例を使用して、Jasperを使用してレポートを作成する必要があります(下記参照)。 主な問題はCount(A)とCount(C)です。 Oracle一時表機能(マージを使用)を使用する前に、この問題を解決しました。選択したサマリーを含む要約レポートの作成

SQLまたはJasper Reportのどちらであっても、このタスクを実行するより効率的で洗練された方法を探しています。 SQLで

CUSTOMER Table 
CustomerID | CustomerType | Status | Amount 
--------------------------------------------------- 
1111  | C   | A   | 10.5 
1112  | C   | C   | 3.0 
1113  | C   | A   | 6.0 
1114  | C   | A   | 5.0 
1115  | C   | A   | 5.0 
1116  | R   | C   | 4.0 
1117  | R   |C   | 5.0 
1118  | R   |C   | 6.0 
1119  | R   |A   | 7.0 
1120  | R   |A   | 3.0 

Report 
Customer Type | Count | Count(C) | Count (A) | Sum(amount) 
C    | 5  |  1 |  4  | 29.5 
R    | 5  |  3 |  2  | 25.0 

答えて

0

SELECT 
    CustomerType, 
    COUNT(*), 
    SUM(CASE WHEN Status = 'C' THEN 1 ELSE 0 END), 
    SUM(CASE WHEN Status = 'A' THEN 1 ELSE 0 END), 
    SUM(Amount) 
FROM 
    Customers 
GROUP BY 
    CustomerType 
ORDER BY 
    CustomerType 
+0

おかげで、トム、私は – eLAN

+0

心配...今のような愚かな感じていない、我々はすべてそこにしてきた:) –

関連する問題