2013-10-28 30 views
0

我有一個位置的sqlite數據庫。 (db中的每一行都是lat和lng的位置)我想要查詢該db以查找距離我最近的位置。當我做這樣的事情時,我能夠返回地點,我找回了一個很好的距離數字列表。SQLiteException用AS語句查詢行

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語句小白,我不知道語法錯誤是什麼。

回答

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 
+0

你是我翅膀下的風!那樣做了。有史以來最快的修復。 –