SQLiteException使用AS语句查询行

时间:2013-10-28 22:34:36

标签: sqlite android-sqlite

我有一个sqlite数据库的位置。 (db中的每一行都是一个带有lat和lng的位置)我想查询该db以找到最接近我的位置。当我做这样的事情时,我能够返回位置,我找回了一个很好的距离数字列表。

SELECT  ( 38.9672071 - lat) * ( 38.9672071 - lat) + ( -77.5124503 - lng) * ( -77.5124503- lng) * 0.6045156141643896 AS distance FROM pois ORDER BY distance ASC LIMIT 2

但我不想只是到每个点的距离,我想从内联创建的距离公式中选择我的数据库中的整行。这是我的sqlite查询:

SELECT * ( 38.9671889 - lat) * ( 38.9671889 - lat) + ( -77.5124857 - lng) * ( -77.5124857- lng) * 0.6045159247970772 AS distance FROM pois ORDER BY distance ASC LIMIT 2

这给了我这个错误:

android.database.sqlite.SQLiteException: near "(": syntax error (code 1): , while compiling: SELECT * ( 38.9671889 - lat) * ( 38.9671889 - lat) + ( -77.5124857 - lng) * ( -77.5124857- lng) * 0.6045159247970772 AS distance FROM pois ORDER BY distance ASC LIMIT 2

我是sql语句的菜鸟,我不确定语法错误是什么。

1 个答案:

答案 0 :(得分:0)

*之后添加逗号。

试试这个:

SELECT *, ( 38.9671889 - lat) * ( 38.9671889 - lat) + ( -77.5124857 - lng) * ( -77.5124857- lng) * 0.6045159247970772 AS distance FROM pois ORDER BY distance ASC LIMIT 2