Нужна помощь с количеством (отличных), я пытаюсь отобразить количество различных (MG) предметов
SELECT DISTINCT TOP (50)
O.ID,
O.salesarboristidyominame AS Arborist,
CASE A.accountcategorycode
WHEN '200000' THEN 'Prospect'
WHEN '200001' THEN 'Client'
END AS Category,
CASE O.proposaltype
WHEN '1' THEN 'Standard'
WHEN '2' THEN 'Renewal'
END AS Proposal_Type,
O.name AS Opportunity_Number,
O.proposaldate AS Proposal_Date,
CASE O.statecode
WHEN '0' THEN 'Open'
WHEN '1' THEN 'Won'
WHEN '2' THEN 'Lost'
END AS Status,
O.estimatedvalue,
O.soldtotal,
O.unsoldtotal,
**Count(distinct P.hierarchypath) AS MG_Count**
FROM d365prd_opportunity O
JOIN d365prd_account A
ON O.soldtoid = A.Id
JOIN d365prd_opportunityproduct OP
ON O.opportunityid = OP.opportunityid
JOIN d365prd_product P
ON OP.opportunityproductid = P.productid
WHERE O.proposaldate > '2020-01-01 00:00:00.000'
Сообщение 8120, Уровень 16, Состояние 1, Строка 2 Столбец 'd365prd_opportunity.Id 'недопустим в списке выбора, поскольку он не содержится ни в статистической функции, ни в предложении GROUP BY.
Обновление Я пытаюсь объединить COUNT с основным запросом. Для этого конкретного примера c основной запрос возвращает 7 строк, все строки принадлежат 1 МГ. Запрос количества возвращает значение 1, которое является правильным. Мне просто нужно добавить этот COUNT в основной запрос, может быть, как подзапрос?
См. Скриншоты ниже:
Основной запрос Количество запросов