0

行が存在するが、「where」条件に金額がない場合は、金額「0」を入力する必要があります。

元のコマンドは次のとおりです。

select t.aaa, count (t.bbb), sum (t.ccc)
from nrb t
where t.vvv IN  ('3','4','5','6','D','E','F')
  and t.ddd like '50%'
  and t.eee >= TO_DATE('2012/03/21','YYYY/MM/DD')
  and t.eee <= TO_DATE('2012/07/21','YYYY/MM/DD')
group by t.aaa
order by t.aaa

結果は次のとおりです。Excelファイルの「結果」タブ。

この結果が必要です:Excelファイルの「結果2」タブ。

ファイル:完全な結果を送信しました。 http://www.mediafire.com/?69cc4ay6cyt9cr9

どうすればこれを手に入れることができますか?

Pl /sql7.0.2無制限ユーザーライセンス

oci:9.2

oracle db:11.1.0.6.0エンタープライズ

os:xpに勝つ

4

1 に答える 1

1

あなたはおそらく欲しい:

select t1.aaa, coalesce(t2.bbb_count, 0) bbb_count,
    coalesce(t2.ccc_sum, 0) ccc_sum
from (
  select distinct aaa
  from nrb
) t1
left join (
  select t.aaa, count (t.bbb) bbb_count, sum (t.ccc) ccc_sum
  from nrb t
  where t.vvv IN  ('3','4','5','6','D','E','F')
    and t.ddd like '50%'
    and t.eee >= TO_DATE('2012/03/21','YYYY/MM/DD')
    and t.eee <= TO_DATE('2012/07/21','YYYY/MM/DD')
  group by t.aaa
) t2 on t1.aaa = t2.aaa
order by t1.aaa;
于 2012-07-28T11:55:22.650 に答える