我有一个基于事件和分支的应用程序。我有两个事件,一个有分支,一个没有。
事件和分支都有纬度和经度。
一个事件可以有多个分支。我想按与另一个地理坐标的距离对这些事件进行排序。
对于有分支的事件,它应该使用其分支的位置来计算它有多接近,而对于没有它的事件,它应该使用事件本身的位置。
这可以在 MySQL 中进行而不影响性能吗?还是我使用了错误类型的数据库?我是否应该使用另一个带有脚本的 NOSQL 数据库将当前的 MySQL 和 Pods 数据导出到它。
这是我在这个框架中使用 ATM 的基本查询,它添加了一点糖(显然这在普通的 MySQL 中不起作用),没有分支的事件似乎没有以正确的顺序出现。
SELECT
t.*,
DISTANCE(\"$latitude\", \"$longitude\",
IF(t.branches.latitude, t.branches.latitude, t.latitude),
IF(t.branches.longitude, t.branches.longitude, t.longitude)
) as distance
FROM table as t
ORDER BY distance.