1

解释这一点的最简单方法是为你们画出两张桌子 - 所以就在这里..

sl_project_course

项目 ID | course_id
50 1

sl_course
教授ID | course_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 中有两行查询不再正常工作。

我很感激任何帮助!

谢谢,

埃文

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 回答