У меня есть две таблицы: Компания и Контакт, с отношениями один-ко-многим. У меня есть другой стол Трек, который идентифицирует некоторые компании как материнские компании для других компаний. Выберите отдельную запись со списком записей соединения
Я хочу написать SQL-запрос, который выбирает материнские компании из Track и количество контактов, которое имеет каждый родитель.
SELECT Track.ParentId, Count(Contact.companyId)
FROM Track
INNER JOIN Contact
ON Track.ParentId = Contact.companyId
GROUP BY Track.ParentId
однако результат имеет меньше записей, чем когда я запускаю следующий запрос:
SELECT DISTINCT Track.ParentId
FROM Track
Я попробовал первый запрос с добавлением DISTINCT
и он вернулся те же результаты (меньше, что это предназначалось к).
Выглядит неплохо, кроме того, если rosa хочет 0 или нулевой счет, возможно, потребуется скорректировать счет, используя каменноугольный или случайный или isnull или другие варианты, чтобы вернуть 0 вместо нуля. возможно, 'coalesce (count (contact.companyID)) как cnt' – xQbert
Да, в зависимости от того, какие конкретные требования могут потребоваться. Хорошая точка зрения. –
Я не могу использовать левое внешнее соединение, потому что я использую доступ, но ответ, который я нашел, схож. Благодарю. – MJH