Я работаю над запросом, который объединяет несколько таблиц для детализации, чтобы получить число подписчиков, проголосовавших по регионам, где подписчики имеют более одного голоса.
Проблема, с которой я застрял, - это попытканапишите в запросе, чтобы вычислить, где подписчики проголосовали более чем за один.
SELECT COUNT(*), regions.name,
(SELECT COUNT(*) FROM votes
LEFT JOIN profiles on votes.subscriber_id = profiles.subscriber_id
LEFT JOIN countries on profiles.country_id = countries.id
WHERE countries.region_id = regions.id GROUP BY votes.subscriber_id) as vote_count
FROM subscribers
LEFT JOIN profiles on subscribers.id = profiles.subscriber_id
LEFT JOIN countries on profiles.country_id = countries.id
LEFT JOIN regions on countries.region_id = regions.id
LEFT JOIN votes on subscribers.id = votes.subscriber_id
WHERE subscribers.created_at < '2011-04-22 00:00:00'
GROUP BY regions.id
HAVING vote_count > 1;
С помощью вышеприведенного запроса я получаю ошибку: Subquery returns more than 1 row
Есть идеи?