我几乎是SQL语法的新手,我需要帮助才能在MySQL上创建一个视图。
我有一个名为ID
的PK列表,一列名为total_seats
,另一列名为title
。
在第二个表中,我有多行,其中firstname
列和FK对应于第一个表中的PK(total_seats
)。
我需要创建一个视图,我可以为第一个表中的每个元素计算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
答案 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