在SQL中使用大小写时出错
我正在关注Ben O.Smith为数据科学家介绍的SQL,但我在本地mysql的第9页遇到了以下代码问题: PDF网址: SQL错误1054:“where子句”中的未知列“s.id” 我遵循了第3页列出的完全相同的数据结构。但是我不能把我的头绕在错误上 以下代码中是否有错误在SQL中使用大小写时出错,sql,Sql,我正在关注Ben O.Smith为数据科学家介绍的SQL,但我在本地mysql的第9页遇到了以下代码问题: PDF网址: SQL错误1054:“where子句”中的未知列“s.id” 我遵循了第3页列出的完全相同的数据结构。但是我不能把我的头绕在错误上 以下代码中是否有错误 select id, name, (select case when avg_gpa >= 3.5 then 2 when
select
id,
name,
(select case
when avg_gpa >= 3.5 then 2
when avg_gpa < 3.5 and avg_gpa >= 3.0 then 1
else 0
end as gpa_type
from
(select avg(gpa) as avg_gpa
from term_gpa
where id=s.id) as avg_gpa_table
) as gpa_type
from
student as s
ORDER BY
name ASC;
试着像这样重写它
select s.id
, s.name
, case
when avg_gpa >= 3.5 then 2
when avg_gpa < 3.5 and avg_gpa >= 3.0 then 1
else 0
end as gpa_type
from student as s
LEFT JOIN (
select id , avg(gpa) as avg_gpa
from term_gpa
Group by id
) as avg_gpa_table
ON avg_gpa_table.id = s.id
ORDER BY s.name ASC;
书名不是问题。请用你的标题来描述你遇到的问题或你提出的问题。你的书名应该解释你的困难是什么,而书名却没有这样做。我们也不会去某个地方阅读这本书,以获取帮助您所需的信息。在编辑时,请在问题本身中提供相关详细信息。有关更多信息,请参阅。我假设您使用的是MySQL,对吗?