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

标签 java sql variables

我正在尝试使用 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“(SIN(deltaLat/2)...”

最佳答案

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

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

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

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

相关文章:

java - _XReply() 使用 _XIOError() 终止应用程序

java - 如何找出 IntStream 中缺少哪些数字

sql - 存储过程中的条件 WHERE 子句

sql - 更新和替换字符串的一部分

java - SQL DB 查询的单独线程

c# - 检测脚本中未声明的变量

mysql - 显示变量的默认值

java - 什么是缝合 [] 内所有内容的正则表达式?

java - Android Studio 配置损坏

variables - xsl string-join() 多个变量 - 只使用非空