我目前正在尝试在数据集上运行以下代码
SELECT m.FirstName, m.LastName
FROM Master as m INNER JOIN AllStar as a
ON m.LastName = a.LastName AND m.College = "California"
GROUP BY m.LastName
HAVING COUNT(a.GamesPlayed) > 2;
但是我收到了错误
没有这样的专栏:"加利福尼亚"
为什么我会尝试将列值与字符串" California"?进行比较?
我基本上试图找到参与所有明星的所有篮球运动员> 3次,来自Cal进行硬件分配但我的TA没有回复我: - (
提前致谢!
答案 0 :(得分:4)
双引号用于identifiers
,这就是California
字符串被视为列名的原因。对于字符串文字,请使用单引号
当您使用Group by
时,Group By
子句中应包含所有非聚合列
SELECT m.FirstName, m.LastName
FROM Master as m INNER JOIN AllStar as a
ON m.LastName = a.LastName AND m.College = 'California'
GROUP BY m.FirstName,m.LastName -- Missing FirstName here
HAVING COUNT(a.GamesPlayed) > 2;