Oracle-Noob の質問で申し訳ありませんが、実行しようとしているクエリに問題があり、その書き方がわかりません。
クエリを 2 つの部分に分割すると、それぞれに正しい情報が得られます。見る:
select NVL (skill.category, 'Total:') "Skill Category",
count (training.code) "# of Trainings"
from skill join training on skill.code = training.code
group by rollup (skill.category);
戻り値:
Skill Category # of Trainings
--------------- --------------
Database 2
HR 1
Leadership 1
Printing 1
Sales 3
Web Design 5
Total: 13
同様に、2 番目のクエリで次の結果が得られます。
select NVL (skill.category, 'Total:') "Skill Category",
count (project.code) "projects req training"
from skill join project on skill.code = project.code
group by rollup (skill.category);
Skill Category projects req training
--------------- ---------------------
Database 2
Printing 3
Web Design 5
Total: 10
ただし、これらのクエリを組み合わせようとすると、結果が台無しになります。
select NVL (skill.category, 'Total:') "Skill Category",
count (training.code) "# of Trainings",
count (project.code) "Projects Requiring Skill"
from skill join training on skill.code = training.code
left join project on training.code = project.code
group by rollup (skill.category);
Skill Category # of Trainings Projects Requiring Skill
--------------- -------------- ------------------------
Database 4 4
HR 1 0
Leadership 1 0
Printing 3 3
Sales 3 0
Web Design 13 13
Total: 25 20
ここで間違っていることは何ですか? 何か助けていただければ幸いです。明らかな何かが欠けている場合は申し訳ありません。