sql语句是否有问题?
来源:4-13 创建线下会议申请(前端)(二)

qq_慕婉清7021187
2022-07-09
我创建测试数据的时候时间跨度写的比较大,我发现两个时间段明明重叠了确依然可以申请成功,然后我去看了searchFreeMeetingRoom方法,我发现这个sql只要当start和end在没有会议的时间段检测不到这个时间段之间有没有会议
请问是我理解错老师的意思了吗,还是我哪里代码写错了
写回答
3回答
-
易28
2022-08-27
sql这个是有bug,我是这么改的可以参考下,如果有问题欢迎指正~~
第一步:
第二步:
第三步:
112022-08-27 -
慕莱坞0457550
2023-06-14
还真是,可以这样改编下
SELECT temp.name
FROM (
SELECT mr.`name`, m.id
FROM tb_meeting_room mr
LEFT JOIN tb_meeting m ON mr.`name` = m.place
AND m.date = #{date}
AND (
(m.`start` BETWEEN #{start} AND #{end}) OR
(m.`end` BETWEEN #{start} AND #{end}) OR
(#{start} BETWEEN m.`start` AND m.`end`) OR
(#{end} BETWEEN m.`start` AND m.`end`)
)
) temp
WHERE temp.id IS NULL00 -
神思者
2022-07-09
你导入我的项目试一下
012022-07-09
相似问题