Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql中的数学运算为每一行返回相同的结果_Mysql_Join - Fatal编程技术网

mysql中的数学运算为每一行返回相同的结果

mysql中的数学运算为每一行返回相同的结果,mysql,join,Mysql,Join,我对这个mysql查询有问题: SELECT p.* , POW( [fixed_value1] - CAST(p.lat AS DECIMAL),2) + POW( [fixed_value2] - CAST(p.lon AS DECIMAL),2) as distance, l.type FROM [TABLE1] p LEFT JOIN [TABLE2] l ON p.id = l.id AND l.uid = '4' WHERE [... ...] ORDER BY distan

我对这个mysql查询有问题:

SELECT p.* , POW( [fixed_value1] - CAST(p.lat AS DECIMAL),2) + POW( [fixed_value2] - CAST(p.lon AS DECIMAL),2) as distance, l.type FROM [TABLE1] p
LEFT JOIN [TABLE2] l 
ON p.id = l.id 
AND l.uid = '4' 
WHERE [...  ...] ORDER BY distance ASC LIMIT 50
我得到的结果是一切都很好,除了十进制列,每行都是一样的。
我找不到我做错了什么

我最近删除了CAST函数,它正常工作了……我想知道这一点。您可能还需要平方和的平方根来计算距离。在编写自己的代码之前,请不要忘记。引擎一侧的错误实现,但转换为十进制实际上将数字转换为字符串,然后无法将其转换回进行数学运算。@Mike我不需要确切的距离,我只是希望结果井然有序