使用减法操作从两个表创建视图

时间:2017-06-24 16:52:55

标签: mysql select join group-by

我几乎是SQL语法的新手,我需要帮助才能在MySQL上创建一个视图。

我有一个名为ID的PK列表,一列名为total_seats,另一列名为title。 在第二个表中,我有多行,其中firstname列和FK对应于第一个表中的PK(total_seats)。

我需要创建一个视图,我可以为第一个表中的每个元素计算available_seatstotal_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

1 个答案:

答案 0 :(得分:1)

你可以减去计数

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