我不得不采取类似的代码如下:你如何使用左连接而不是分组?
SELECT courseId, termId, firstName, lastName
FROM (
SELECT s.courseId, s.termId, t.teacherId
FROM Teaches t, Section s
WHERE s.id = t.sectionId
GROUP BY s.termId, s.courseId
HAVING COUNT(DISTINCT t.teacherId) = 1
) Teach, Person p
WHERE p.id = teacherId
ORDER BY courseId, termId;
,并与1子查询,通过的不群,并且仅使用连接没有聚合函数(内连接,左连接,等等)把它变成一个MySQL声明。我一直在努力几个小时,但我无法找到一种不按功能使用组的方法。任何有识之士将不胜感激。
用一点咖啡,一切皆有可能。嗯,但诚实地尝试穿上纸。一些P&P - 纸和铅笔,可能会帮助 – Coffee
什么是'sectionId',是'Teaches'上的一列还是'Section'上的一列? – bjhaid
我将代码稍微改了一点以clairfy @bjhaid – user2256498