У меня довольно сложная проблема с MySQL.Группа MySQL и сумма с объединенными таблицами
У меня есть две таблицы с одного до многих отношения (ниже colums, которые имеют отношение)
Таблица A (кампании):
id | channel_type | date
Таблица B (бюджеты):
id | campaign_id | budget
Мне нужен один запрос для получения следующего результата:
- Количество кампаний: channel_type
- Сумма всех бюджетов, связанных с найденными кампаниями.
Мне нужно фильтровать результаты по столбцам в таблице кампании (например WHERE campaigns.date> '2014-05-01')
Я попытался следующий подход:
SELECT channel_type, COUNT(*) cnt,
(SELECT SUM(budget) FROM budgets WHERE budgets.campaign_id = campaigns.id))
as budget
FROM campaigns
WHERE campaigns.date >= 'some-value'
AND [more conditions]
GROUP BY campaigns.channel_type
Но это конечно, терпит неудачу из-за GROUP, я получаю только первый результат campaigns.id для channel_type.
Любые советы (и решения) будут действительно оценены!
ТИА
набор это в [SQL скрипку] (http://sqlfiddle.com/) и я помогу –
Если вы все еще заинтересованы я положил его в скрипкой: [ здесь] (http://sqlfiddle.com/#!2/a5e42/5) – duffpl