gpt4 book ai didi

mysql - 从一个表中获取所有行,前提是从 mysql 中的另一表满足特定条件

转载 作者:行者123 更新时间:2023-11-29 11:53:50 24 4
gpt4 key购买 nike

我的 mysql 查询为

var query = "SELECT * FROM drivers WHERE status = 1 AND lat BETWEEN " + min_lat + " AND " + max_lat + " AND lng BETWEEN " + min_lon + " AND " + max_lon + " AND isAvailable = 1 LIMIT 1";

我想再添加一个条件。假设我有一个名为

的表
booking 
driverId bookingStatus

现在我想获取所有具有上述查询的司机 + 条件是预订表行数应为 0,其中 bookingStatus 小于 3,driverId 存在于预订表中

最佳答案

左连接预订中的司机表,并在连接条件中的 bookingstatus 字段中过滤预订。如果预订表中没有符合条件的行,则结果集中预订表中的 driverid 将为 null。

SELECT d.*
FROM drivers d
LEFT JOIN booking b ON d.driverid=b.driverid and b.bookingStatus<3
WHERE d.status = 1 AND d.lat BETWEEN ... AND ...
AND d.lng BETWEEN ... AND ...
AND d.isAvailable = 1
AND b.driverid is null
LIMIT 1

如果您特别需要检查预订表中是否存在司机,请向where条件添加一个exists子查询。

关于mysql - 从一个表中获取所有行,前提是从 mysql 中的另一表满足特定条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33567802/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com