Как я могу получить данные о клиентах в зависимости от количества пользователей? - PullRequest
0 голосов
/ 17 января 2019

Я хочу получать данные о клиентах по всем предприятиям с более чем 1 пользователем.

Для этого я думаю, что мне нужен подзапрос для подсчета более 1 пользователя, а затем внешний запрос, чтобы дать мне их электронные письма.

Я пробовал подзапросы в предложении WHERE и HAVING

SELECT   u.mail
FROM     users u
WHERE    count IN (
    SELECT count (u.id_business)
    FROM businesses b
    INNER JOIN users u ON b.id = u.id_business
    GROUP BY b.id, u.id_business
    HAVING COUNT (u.id_business) >= 2
)

1 Ответ

0 голосов
/ 17 января 2019

Я считаю, что вам не нужен подзапрос, все может быть достигнуто в объединенном агрегатном запросе с предложением HAVING, например:

SELECT u.mail 
FROM users u 
INNER JOIN businesses b on b.id = u.id_business
GROUP BY u.id, u.email
HAVING COUNT (*) >= 2

Примечание: если несколько пользователей могут иметь один и тот же адрес электронной почты, я добавил первичный ключ users в предложение GROUP BY (я предположил, что pk называется id): вы можете удалить его, если email - уникальное поле в users.

...