У меня есть база данных с двумя таблицами, events
и tickets
. Таблица events
содержит строки событий, а tickets
каждый проданный билет.
Например,
events
------
id name capacity
1 Test 10
2 Test2 20
3 Test3 15
tickets
-------
id event_id customer_id
1 1 (value here doesn't matter)
2 1
3 3
4 1
5 3
Итак, я вижу, что 3 билета на мероприятие № 1 были проданы, 0 билетов на мероприятие № 2 и 2 билета на мероприятие № 3 были проданы.
Я пытаюсь создать запрос, который выбирает все события, плюс столбец available
, который является емкостью событий меньше количества проданных билетов.
У меня есть этот запрос:
SELECT
events.id,
events.name,
events.capacity,
events.capacity - COUNT(tickets.id) AS available
FROM
events
INNER JOIN tickets ON events.id = tickets.event_id
Однако это не возвращает никаких событий, когда билеты еще не были проданы. Я думал, что это может быть типом соединения, но я пробовал различные безуспешно.
Я не уверен, куда я иду не так.