2017-05-10 7 views
0

クエリ次(の一部)を使用して、私は次のような結果になっています:ORACLEのSQLは:カウントがnull値を含める

Person Category Count 
Person1 Category1 4 
Person1 Category2 0 
Person1 Category3 5 
Person1 Category4 7 
Person2 Category1 8 
Person2 Category2 2 
Person2 Category3 1 
Person2 Category4 3 
Person3 Category1 0 
Person3 Category2 9 
Person3 Category3 0 
Person3 Category4 3 

SELECT TLC, DUTYTYPE, SUM(SUM1) FROM 
**Result** 

Person1 Category1 4 
Person1 Category3 5 
Person1 Category4 7 
Person2 Category1 8 
Person2 Category2 2 
Person2 Category3 1 
Person2 Category4 3 
Person3 Category2 9 
Person3 Category4 3 

が、私はそれは次のようになりたいの

したがって、合計/カウントがNULLの場合、それはまだ含まれています。それは可能ですか?

+1

ここで省略したクエリのどこかに「GROUP BY」がありますか?失われたデータが元のテーブルに表示されていない場合は、カレンダーテーブル(またはアナログ)を使用して穴を埋めるなどの作業を行う必要があります。 –

+2

あなたは人とカテゴリーの完全なリストをどこに持っていますか?あなたはカウントするデータを持っていない場合は、カウントしたいものを含むものにそのテーブルと外部結合を開始する必要があります。顧客と販売台帳があれば私たちは顧客によって売上テーブルのすべての売上を集計することができますが、顧客に売上がない場合は表示されません。顧客に加入しなければならず、0のカウントが表示されます。 – xQbert

+0

完全なクエリ(たとえ簡略化されていても)が良い例になります。しかし、SUMを実行している行を持つ表の間でOUTER JOINを実行するように思えます。 – BriteSponge

答えて

0

NVLを追加してヌル値を取得してみます。これがあなたが欲しいものならば。

SELECT TLC, DUTYTYPE, NVL(SUM(SUM1), 0) FROM 
**Result** 

OUTER JOINが必要な場合があります。また、可能なNOT NULL属性を考慮に入れてください。コード全体がありますか?

関連する問題