Создание объединения, где я получаю счет из другой таблицы - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть таблица с информацией об агенте по недвижимости, и я хочу получить firstname, fullname и email от rets_agents.

Я хочу получить счет всех их продаж от другая таблица с именем rets_property_res_mstr.

Я создал запрос, который еще не работает, поэтому мне нужна помощь.

SELECT r.firstname, r.fullname, r.email
from rets_agents r
LEFT JOIN rets_property_res_mstr
     ON r.email = rets_property_res_mstr.ListAgentEmail
LIMIT 10;

    

Я не уверен, как получить счет в это.

Ответы [ 2 ]

2 голосов
/ 26 февраля 2020

Вы, похоже, ищете агрегацию:

SELECT a.firstname, a.fullname, a.email, COUNT(p.ListAgentEmail) cnt
FROM rets_agents a
LEFT JOIN rets_property_res_mstr p ON r.email = p.ListAgentEmail
GROUP BY a.firstname, a.fullname, a.email
ORDER BY ?
LIMIT 10;

Обратите внимание, что для LIMIT предложения действительно имеет смысл, вам нужно выражение ORDER BY, чтобы вы получили детерминированный c результат (в противном случае не определено, какие записи будут показаны) - я добавил это к вашему запросу со знаком вопроса, который вы должны заменить на соответствующие столбцы.

0 голосов
/ 26 февраля 2020

Я бы рассмотрел использование CTE для этого:

WITH sales as (
SELECT ListAgentEmail, count(*) count_of_sales
FROM rets_property_res_mstr
GROUP BY ListAgentEmail
)

SELECT r.firstname, r.fullname, r.email, count_of_sales
from rets_agents r
LEFT JOIN sales
     ON r.email = sales.ListAgentEmail
LIMIT 10;
...