###前提・実現したいこと
以下の二つのカラムを持つテーブルがあります。
Course:大学の講義のコードと講義名を持つ
科目コード、コース名
Prereq:必修科目(ある講義を受ける前に取らないといけない講義)を持つ講義と、その必修科目を表すコードを持つ。(ツリー型)
科目コード、必修科目コード
Oracle SQLで階層問い合わせ(Start with, Connect by prior)を使うことで、必修科目を持つ講義に関しては下記のように、必修科目を持たない講義に関してはPrerequisite(s)に"-"ハイフンを表示し、それらを結合した結果を表示したいと思っています。Prerequisites(2)では、最初に親(一番最初に受けないといけない科目)が来るようにする必要があります。
###発生している問題・エラーメッセージ
必修科目を持つ講義に関して、今の自分のコードでは、3層以上あるときに最上位層の科目が複数表示されてしまいます。(例:COSC3320 /COSC1310 と COSC5234 /COSC1310/COSC3320は残して、COSC3380 /COSC3320を削除したいが、今はすべてが表示されている)。
###試したこと
最初のほうに試したことを忘れてしまいましたが、覚えている限り書きます。
prior を消す。
start with句を単純な条件で試してみる。 例えばstart with prq.course_number in ('COSC5234', 'COSC3320')で実行してみましたが、同じ症状が出ました。
###補足情報(言語/FW/ツール等のバージョンなど)
Oracle 12c を使ってOracle Developer上で動かしています。
ほかに何か必要な情報があれば、すぐに用意します。
自分なりに調べて書いていろいろ試みたのですが、どうしてもうまくいきません。。。どうがよろしくお願いいたします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/19 09:01 編集
2017/10/20 07:31 編集
2017/10/22 07:37 編集