需要帮助内加入以及条件

时间:2018-09-26 14:58:27

标签: sql sql-server jupyter-notebook

我不知道为什么下面的代码不起作用。

问题:使用INNER JOIN,查找困难程度为96的社区的最低“平均学生出勤率”

SELECT b.Community_Area_Name, min(b.Average_Student_Attendance) FROM CENSUS_DATA as a 
INNER JOIN CHICAGO_PUBLIC_SCHOOLS as b
ON a.Community_Area_Number =b.Community_Area_Number
WHERE a.hardship_index=96
GROUP BY b.Community_Area_Name

jupyter笔记本错误:

  

文件“”,第2行INNER JOIN CHICAGO_PUBLIC_SCHOOLS为b ^ SyntaxError:语法无效

SQL服务器错误:

  

“ A.COMMUNITY_AREA_NUMBER”在使用的上下文中无效。.SQLCODE = -206,SQLSTATE = 42703,DRIVER = 4.22.36

3 个答案:

答案 0 :(得分:0)

我有同样的问题。我设法做到了。第4周的文章“使用实际数据集”中描述了该问题。我们需要在查询中使用双引号。像这样

SELECT MIN("Average_Student_Attendance")

答案 1 :(得分:0)

双引号将解决您的问题,但是我发现当我双引号Hardship_Index时,出现错误。但是下面的代码适用于Jupyter。

%sql select min(PS."Average_Student_Attendance"), CD.Hardship_Index  from CENSUS_DATA as CD INNER JOIN CHICAGO_PUBLIC_SCHOOLS as PS ON CD."Community_Area_Number" =PS."Community_Area_Number" WHERE CD.Hardship_Index = 96 GROUP BY CD.Hardship_Index

答案 2 :(得分:-1)

默认情况下,SQL中的列表按升序排列,因此您无需使用最小功能即可解决此查询。我可以使用以下WHERE语句解决此问题。

WHERE C."HARDSHIP_INDEX"=96 ORDER BY S."Average_Student_Attendance" LIMIT 1;