SQL 查询 - 需要帮助构建

SQL query - need help constructing

只需要一些快速的帮助来构建一个 sql 完整的菜鸟查询。我已经复制了下面的数据库模式;

您的设计偏离目标。
Avail 属性描述了一个普通的椅子,而不是某个时刻的椅子。假设您有两场演出 - 今天一场,10 天后一场。人们预订了今天的节目,table 主席得到更新,现在已经有人了。现在有人也想预订后面的节目,而且...... Doh,它被占用了。如果您有 100 场演出并且每场演出只有 1 名观众,那么您最终仍会占用 100 把椅子每场演出

此声明将为您提供特定节目的所有座位及其状态

select c.chair_id,
(case when b.chair_id is null then 1 else 0 end) available
from shows s
inner join booki1 b on s.show_id = b.show_id
left join chairs c on b.chair_id = c.chair_id
where s.show_id = *insert show id here*

这将 select 特定节目的所有可用椅子。
我还建议为 chairs/shows 使用一些自动递增的整数 ID。 当您可以拥有 DateTime 列时,拥有两列日期/时间看起来真的很奇怪。需要一些时间来想象您实际需要的特定情况。