Включение счетчика в результат запроса - PullRequest
1 голос
/ 24 апреля 2020

У меня есть две таблицы, customer и people, связанные с customer_id. Я хотел бы, чтобы результат запроса показывал всех клиентов с> 500 людьми, включая это количество людей. Я получаю результат отлично, но мне нужна помощь, включая подсчет в результате.

Это мой запрос, который работает нормально, кроме того, что он не возвращает счет:

SELECT DISTINCT `customer_id`, `name`, `city`, `state`, `country`
FROM `customer`
WHERE `customer_id` IN 
(
    SELECT `customer_id`
    FROM `people`
    GROUP BY `customer_id`
    HAVING COUNT(*) >= 500
)

Большое спасибо.

1 Ответ

2 голосов
/ 24 апреля 2020

Вы можете просто присоединиться к подзапросу, а не использовать его для фильтрации; таким образом, его результат доступен во внешнем запросе:

SELECT c.*, p.no_people
FROM customer c
INNER JOIN (
    SELECT customer_id, count(*) no_people 
    FROM people 
    GROUP BY customer_id
    HAVING COUNT(*) >= 500
) p on p.customer_id = c.customer_id
...