使用减法操作从两个表创建视图
问题描述:
我几乎是新的SQL语法,我需要帮助来创建MySQL视图。使用减法操作从两个表创建视图
我有一个名为ID
的PK列,名为total_seats
的列和另一个列是title
。 在第二个表中,我有多行,其中有一个firstname
列和与第一个表中存在的PK(total_seats
)对应的FK。
我需要创建一个视图,我可以计算第一个表中存在的每个元素的available_seats
(total_seats
减去第二个表中出现的位置)。
其实我正在计算“占用”的席位,但加入给我的结果只为已采取的事件,所以结果是,我没有看到空的事件available_seats
。
SELECT b.ID_event, a.*,
COUNT(*) AS occupied FROM second_table b
LEFT JOIN first_table a ON b.ID_event = a.ID
GROUP BY ID_event
答
你可以减计数
select a.ID_event, a.total_seats, count(*) as occupied, a.total_seats - count(*) difference
from first_table a
left join second_table ba ON b.ID_event = a.ID
group by a.ID_event, a.total_seats
它的作品,但不幸的是它的接缝的票(减去)'ONE' 与第二表中没有匹配的事件ID。 @scaisEdge – Andrea
然后更新您的问题添加一个适当的数据样本和预期的结果... – scaisEdge
我终于解决了这个问题,使用此代码来创建我的视图。 感谢@scaisEdge的灵感和首次实施。 (SELECT *。*, )(SELECT a。 .ID)AS available_seats FROM first_table a' – Andrea