【发布时间】:2022-01-23 17:01:21
【问题描述】:
我有一个问题,如何在过滤两个表的同时加入两个表?
司机状态位置表
车辆表
这里的计划是只获取所有具有以下内容的driver_id:
- 状态 = 0
- is_online = true
- vehicle_size = 小
以下是我当前使用过滤器获取所有最近的驱动程序的 sql 语法,车辆大小除外。
SELECT * FROM (
SELECT *,
(
(
(
acos(
sin(( 14.231 * pi() / 180)) *
sin(( lat * pi() / 180)) + cos(( 14.231 * pi() /180 )) *
cos(( lat * pi() / 180)) * cos((( 121.321 - lng) * pi()/180))
)
) * 180/pi()
) * 60 * 1.1515 * 1.609344
) as distance FROM driver_status_location
) driver_status_location
WHERE distance <= 5 AND status=0 AND is_online=true
ORDER BY distance
LIMIT 5;
这里唯一缺少的是过滤另一个表上的vehicle_size。
如果这没有意义,或者我需要添加更多详细信息,请告诉我。提前感谢您的帮助!
【问题讨论】:
-
请只标记您真正使用的RDBMS。如果您正在使用 SQL Server,以上将出错;
LIMIT不是 T-SQL 中可识别的关键字。 -
感谢您编辑@Larnu。嗯不确定。当我尝试
LIMIT时,它在 node.js 中有效 -
你需要edit你的问题来重新标记正确的RDBMS。
LIMIT确实有效的事实进一步表明您没有使用 SQL Server。 -
添加更多样本表数据,同时指定预期结果。所有格式正确的文本(没有图像,没有链接。)
标签: sql