您的查询很可能以不止一种方式失败。
除了@Patashu 告诉您的有关表限定列名的内容之外,您还需要JOIN
正确地使用表。由于Instructor
您的查询不明确,我猜测(由于缺乏信息)它可能看起来像这样:
SELECT ie.Instructor
,SUM(ie.instreffective_avg + h.howmuchlearned_avg + ir.instrrespect_avg)/5
FROM instreffective_average ie
JOIN howmuchlearned_average h USING (Instructor)
JOIN instrrespect_average ir USING (Instructor)
GROUP BY Instructor
我添加了表别名以使其更易于阅读。
这假设三个表中的每一个都有一个Instructor
可以连接它们的列。如果没有JOIN
条件,您会得到 a CROSS JOIN
,这意味着每个表的每一行都将与每个其他表的每一行组合在一起。在大多数情况下非常昂贵的废话。
USING (Instructor)
是 . 的简短语法ON ie.Instructor = h.Instructor
。它还将连接的(必须相同的)列折叠成一列。因此,在我的示例中,如果列表中Instructor
没有表限定,您将侥幸逃脱。SELECT
并非每个 RDBMS 都支持此标准 SQL 功能,但您未能提供更多信息。