【问题标题】:Need help Inner join and where condition需要帮助内连接和条件
【发布时间】:2018-09-26 14:58:27
【问题描述】:

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

问题:使用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 as b ^ SyntaxError: invalid syntax

SQL 服务器出错:

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

【问题讨论】:

  • 表的结构是什么..?具体问题是什么?
  • 您看到的实际错误/问题是什么。我们不知道它是如何工作的。
  • 您好,我想解决的问题是使用 INNER JOIN 来查找社区的最低“学生平均出勤率”是 96。我使用 Jupyter notebook 运行代码,但在下面错误显示:文件“”,第 2 行 INNER JOIN CHICAGO_PUBLIC_SCHOOLS as b ^ SyntaxError: invalid syntax
  • 是的,我了解您要解决的问题。但是,我不知道您当前的查询给出了什么具体问题。这就是我们需要知道的。
  • 正如 Guy L 所说,您应该发布 CENSUS_DATACHICAGO_PUBLIC_SCHOOLS 的示例。

标签: sql sql-server jupyter-notebook


【解决方案1】:

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

SELECT MIN("Average_Student_Attendance")

【讨论】:

    【解决方案2】:

    双引号可以解决您的问题,但我发现当我双引号 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
    

    【讨论】:

      【解决方案3】:

      SQL 中的列表默认是升序的,所以你不需要使用 minimum 函数来解决这个查询。我能够使用以下 WHERE 语句解决此问题。

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

      【讨论】:

      • 这个解决方案已经过时了。 OP 希望按Community_Area_Name 分组。
      • 它对我有用,问题陈述没有明确说明必须使用 group by。
      • “找出社区的最低‘平均学生出勤率’”。对于社区来说,GROUP BY 发挥作用。
      猜你喜欢
      • 2017-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-13
      • 2018-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多