我正在尝试使用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:“字段列表”中的未知列“ deltaLat”


错误中的deltaLat是代码deltaLat此部分中的"(SIN(deltaLat/2)..."

最佳答案

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

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


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

关于java - 如何使用SQL中其他列的数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8374067/

10-09 00:56