0

ここで2つのテーブルを使用しています。

ここに画像の説明を入力してください

これらのテーブルを取得して、コース番号、コース名、前提条件、および前提条件名を表示するというアイデア。

ただし、ご覧のとおり、あいまいさには対処する必要があります。

これまでのところ、このクエリを実行しました

SELECT c.course_name, p.course_number, course_name AS "prereq_course",prereq
FROM rearp.course  c, rearp.prereq  p
WHERE c.course_number = p.course_number;

そしてこれを手に入れました...

ここに画像の説明を入力してください

前提条件のコース名がコースの単なるコピーであることに気付くかもしれないことを除いて、すべてが良いように見えます。

この問題をどのように修正しますか?

4

1 に答える 1

3

前提条件のコースを調べて、その名前を取得したいと思っていると思います

もう一度コーステーブルに参加する必要があります。

SELECT c.course_name, p.course_number, c2.course_name AS "prereq_course",p.prereq
FROM
   rearp.course  c
      inner join
   rearp.prereq  p
      ON c.course_number = p.course_number
      inner join
   rearp.course c2
      on
         p.prereq = c2.course_number

,(スタイルではなく、ansi結合構文にも切り替えました)

于 2012-11-16T08:42:52.247 に答える