我对 SQL 语法几乎是新手,我需要帮助来在 MySQL 上创建 View 。
我有一个表,其中有一个名为 ID
的 PK 列,一个名为 total_seats
的列,另一个名为 title
的列。
在第二个表中,我有多行,其中有一个 firstname
列和一个与第一个表中存在的 PK (total_seats
) 相对应的 FK。
我需要创建一个 View ,在其中可以计算第一个表中存在的每个元素的 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
关于mysql - 使用减法运算从两个表创建 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44738766/