【发布时间】:2016-06-18 09:34:36
【问题描述】:
我是 SQL 新手,希望在这里能找到一些帮助。 英语不是我的母语,所以如果有不清楚的地方,请随时提问!
就像主题名称所暗示的那样,我想从一个表中过滤掉多次存在的条目(字符串)。
我的代码如下所示:
SELECT DISTINCT characterid, firstname, lastname, courseid
FROM Teaches
NATURAL JOIN Character
GROUP BY characterid, firstname, lastname, courseid
它给了我这个:
任务是过滤掉所有教授超过 1 门课程的人。在这种情况下,它将是斯内普和奇洛。 我试过数数
HAVING count(characterid) > 1
但这没有用。如果有人可以帮助我并解释为什么这个计数不起作用,我会很高兴。提前谢谢!
编辑:如果我说“过滤器”,那么我的意思是我想要它作为结果表。所以最后我得到一个有 2 行的表 1) characterid 西弗勒斯·斯内普 2) characterid Quirinus Quirrell
抱歉,不清楚。另外,我只在 SELECT 语句中包含了 courseid,以便更清楚地查看谁教的课程不止一门。决赛桌应该只有“characterid”、“firstname”和“lastname”三列
EDIT2:这是数据库的结构。也许我完全错了,所以它可能对你们有帮助:结构
【问题讨论】:
-
您使用的是哪个 DBMS?
标签: sql