作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找一种方法来显示今天已取消预订的用户列表。
当用户取消预订时,我的系统的工作方式是在取消表中添加一条记录,然后从预订表中删除该记录。
目前我有
select distinct
members.firstname, members.lastname, cancelations.time, cancelations.groupnumber
from
members inner join cancelations on members.memberid = cancelations.memberid
where
cancelations.date = "CURRENT_DATE"
这工作得很好,除了,这还会显示用户是否将他们的约会移到更晚/更早的时间,因为系统将取消然后重新预订。
所以我相信我需要的是:
从 表 中选择不同的列名称,其中 cancellations.date = "CURRENT_DATE"AND 用户今天在预订表中没有任何记录
正在使用的表格(简化)
成员 - memberid, firstname, lastname取消 - cancellationid, memberid, date, time, groupnumberbookings - bookingid, memberid,date,time,groupnumber
最佳答案
所以使用 NOT EXISTS()
这正是您所要求的:
select distinct members.firstname, members.lastname, cancelations.time, cancelations.groupnumber
from members
inner join cancelations
on members.memberid = cancelations.memberid
where cancelations.date = "CURRENT_DATE"
AND NOT EXISTS(SELECT 1 FROM bookings b
WHERE DATE(b.dateField) = DATE(cancelations.date)
AND b.memberid = member.memberid)
这会检查 booking
表中是否不存在同一成员(member)在同一天的记录
关于mysql - 如何从第三个不存在的两个表中获取所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37723679/
我是一名优秀的程序员,十分优秀!