有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用SQL中其他列的数据?

我试图使用SQL中以前列中的计算。我试着使用变量,但没有成功。以下是我现在拥有的:

CREATE VIEW CalculationsTable (id, deltaLat, deltaLon, a, c, d) AS 
  SELECT Resource.id, 
    RADIANS("+lat+"-Resource.lat) AS deltaLat, 
    RADIANS("+lon+"-Resource.lon) AS deltaLon,
    (SIN(deltaLat/2)*SIN(deltaLat/2)) + COS("+lat+") 
       * cos(Resource.lat) * (SIN(deltaLon/2)
       * SIN(deltaLon/2)) AS a, 
    2 * ATAN2(SQRT(a), SQRT(1-a)) AS c, 
    6371 *c AS d 
  FROM Resource AS Resource;

我不断发现这个错误:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'deltaLat' in 'field list'

错误中的deltaLat是这部分代码中的deltaLat


共 (1) 个答案

  1. # 1 楼答案

    您可以尝试重新格式化查询并使用子表。例如

    SELECT calcValueA + 3,
      FROM (SELECT A + B calcValueA FROM yourTable);
    

    对于您的查询,您必须执行多次