查找在本科和研究生阶段任教的讲师的姓名。

SELECT DISTINCT(CONCAT(firstname, ' ', lastname)) as Lecturer_Name
FROM Lecturer INNER JOIN Subject on Lecturer.id = Subject.lecturer
WHERE yearlevel IN(1, 2, 3) and WHERE yearlevel = 9
GROUP BY Lecturer.id


这不会从2个表的讲师和主题中返回任何内容,其中本科级别的yearlevel =(1,2,3),而研究生级别的yearlevel = 9。

任何帮助将不胜感激。

最佳答案

要注意的一件事是,在AND之后,您不需要该WHERE。
除此之外,您的情况似乎不正确:

yearlevel IN (1, 2, 3) AND yearlevel = 9


如果年级必须为1、2或3(根据第一个条件),则不会为9。如果年级必须为9(根据第二个条件),则它将不会为1、2或3因此,您将永远无法同时满足两个条件,因此永远也无法满足。解决此问题的一种方法是将所有条件都包含在第一个条件中,然后删除第二个条件:

yearlevel IN (1, 2, 3, 9)

07-24 17:21