gpt4 book ai didi

mysql - 如何从一个表中过滤掉其id出现在另一个表的列中的记录

转载 作者:行者123 更新时间:2023-11-29 01:28:33 27 4
gpt4 key购买 nike

我有 2 个 MySQL 表

tableRooms 包含酒店的房间

tableRoomsBooked 包含房间的预订日期

enter image description here

我需要一个 SQL 查询来返回在 2 个给定日期之间没有预订的房间。这是我到目前为止所得到的:

SELECT * FROM `tableRooms` 
LEFT JOIN `tableRoomsBooked`
ON `tableRooms`.`id` = `tableRoomsBooked`.`room_id`

WHERE (date BETWEEN '2015-01-02' AND '2015-01-30')
....?

查询应该只得到 room_id 2,因为房间 2 在此期间没有预订。

我的查询应该是什么样的?

最佳答案

   select * 
from tableRooms
where id not in (
select distinct room_id
from tableRoomsBooked
where date between '2015-01-02' and '2015-01-30'
)

这将在子请求中选择现有 ID 的列表,然后将它们从主请求中排除。

无论如何,您应该更改“date”列的名称,因为“date”一旦也是一种数据类型就会让人感到困惑。

关于mysql - 如何从一个表中过滤掉其id出现在另一个表的列中的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27533334/

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