Это вопрос SQL, включающий объединение, дающее мне больше, чем я хочу.
У меня есть 2 таблицы, таблица событий и таблица певцов
EVENTS
event_id
event_name
num_attendees
tickets_sold
tickets_promo
event_date
... many other fields
SINGERS
event_id
singer
Япытаюсь получить статистику событий из таблицы событий, если выполняется ЛЮБОЙ из списка исполнителей.
EVENTS:
event_id num_attendees tickets_sold
1 15 2500
2 5 1575
Singers at the event:
event_id singer
1 bob
1 jane
2 bob
Меня интересует статистика событий, в которых пел Боб или Джейн:
SELECT count(e.event_id) as count_events, sum(num_attendees) as sum_attentees,
sum(tickets_sold) as sum_tickets_sold
FROM `events` e
INNER JOIN singers s ON s.event_id = e.event_id
AND s.singer IN ("bob", "jane")
WHERE event_date ...
Дает мне неправильное количество и суммы, так как объединение даст мне 2 записи для события 1 и 1 запись для события 2, а количество событий будет равно 3.
Как мне написать этот SQL?Спасибо.