有谁能在IBM DB2中找到这个错误的解决方案吗?

ahy6op9u  于 2022-11-07  发布在  DB2
关注(0)|答案(2)|浏览(384)

%sql select学校名称,学校的安全分数,其中\安全分数=(从学校选择MAX(安全分数))
我正在尝试执行此查询,我收到消息。

  • 程序rbm44299:***@dashdb-txn-sbox-yp-lon02-04.services.eu-gb.bluemix.net:50000/BLUDB设计错误:SQL结果列数失败:[IBM][CLI驱动程序][DB2/LINUXX 8664] SQL 0206 N“SAFETY_SCORE”在使用它的上下文中无效。SQLSTATE=42703 SQLCODE=-206 [SQL:select_of_School,Safety_Score from SCHOOLS where Safety_Score=(select MAX(Safety_Score)from SCHOOLS)](有关此错误的背景信息,请访问:(第10页)
8i9zcol2

8i9zcol21#

SQL0206N是此错误消息https://www.ibm.com/support/knowledgecenter/SSEPGG_11.5.0/com.ibm.db2.luw.messages.sql.doc/com.ibm.db2.luw.messages.sql.doc-gentopic1.html#sql0206n
SQL0206N名称在使用它的上下文中无效。
在下列情况下可能会发生此错误:
对于INSERT或UPDATE语句,指定的列不是被指定为插入或更新对象的表或视图的列。
对于SELECT或DELETE语句,指定的列不是该语句的FROM子句中标识的任何表或视图的列。
以及其他情况。
也就是说,数据行SAFETY_SCORE不存在于您的数据表中。数据行可能是"Safety_Score""Safety Score"或其他名称。
如果表中的列名不是大写的,则需要用双引号将其括起来。

xmd2e60i

xmd2e60i2#

我可以通过使用%%sql结构和双引号进行修复:

%%sql
select MAX("Safety Score") AS MAX_SAFETY_SCORE from Chicago_SCHOOLS;

相关问题