1

これを説明する最も簡単な方法は、皆さんのために 2 つのテーブルを引き出すことです。

sl_project_course

プロジェクト ID | course_id
50 1

sl_course
教授ID | コース ID | コース名
1 1「歴史」
1 2「法」
1 3「アート」
1 2「法」

すでに持っている情報

  • プロジェクト ID = 50
  • 教授_id = 1

私が欲しいもの:

教授が教えているすべての course_id が必要です。ここで、course_id は当面のプロジェクトとは関係ありません (この場合、当面のプロジェクトは1- 上に示すように.

したがって、クエリから取得したいデータは次のとおりです。

2「法律」
3「アート」

** 私の試み:**

$sql_course_not_in_project = "SELECT C.course_id, C.course_subject
FROM sl_course C
LEFT OUTER JOIN sl_project_course PC on PC.project_id = 50
WHERE C.course_id <> PC.course_id AND C.professor_id = 1";

これは機能しますが、sl_project_course に 2 つの行がある場合を除いて、クエリは正しく機能しなくなります。

どんな助けにも感謝します!

ありがとう、

エヴァン

4

1 に答える 1

2
SELECT c.course_id, c.course_subject
    FROM sl_course c
        LEFT JOIN sl_project_course pc
            ON c.course_id = pc.course_id
                AND pc.project_id = 50
    WHERE c.professor_id = 1
        AND pc.course_id IS NULL
于 2012-04-23T20:30:19.907 に答える