Я хочу иметь таблицу, которая отображает все типы регистрации, связанные с конференцией, цену каждого из них и количество регистраций, проданных по каждому типу регистрации. Стол вроде:
Registration Type Price Sold/capacity
rtype1 0.00$ 2/40
rtype2 5.00$ 30/100
rtype3 10.00$ 20/50
В таблице registration_types есть имя и цена, поэтому можно получить это напрямую.
Тип registration_types также имеет емкость столбца.
Но тогда количество регистраций, проданных по каждому типу регистрации, не сохраняется непосредственно в любой таблице. В таблице участников есть все участники, зарегистрированные на конференции, как в приведенном ниже примере. Поэтому необходимо учитывать всех участников каждого типа регистрации, например, в приведенной выше таблице зарегистрированы два участника, зарегистрированные в типе регистрации "1", и два участника, зарегистрированные в типе регистрации "2".
Вы знаете, как должен быть запрос для достижения этого контекста? Я не понимаю, как получить счет каждого типа регистрации в таблице участников.
Таблица участников:
id registration_id registration_type_id name
1 1 1 Jake
2 1 1 Jane
3 1 2 Paul
4 2 2 Ben
SELECT registration_type_id,
count(*)
FROM participants
GROUP BY registration_type_id;
дает вам количество разных типов регистрации в participants
.
Но я предполагаю, что registration_id
обозначает конференцию. Поэтому вы, вероятно, захотите расширить его до
SELECT registration_id,
registration_type_id,
count(*)
FROM participants
GROUP BY registration_id,
registration_type_id;
давая вам количество регистраций на конференцию и тип регистрации.