У меня есть запрос, который подсчитывает количество запросов, сделанных оператором телефона в деньSQL Server: внутренние соединения и группы по
SELECT
[OperatorID],
DATEADD(day, DATEDIFF(day, 0, CreationDate), 0) AS CreationDate,
COUNT(*) AS EnquiryCount
FROM
[Enquiries] AS e
GROUP BY
[OperatorID], DATEADD(day, DATEDIFF(day, 0, CreationDate), 0)
Однако, я хочу, чтобы добавить Operator
таблицу на этот запрос, так что я может получить имя операторов
SELECT [OperatorID]
,[FirstName]
,[LastName]
FROM [Operators]
Если я внутреннее соединение с 2 таблицы перед группой по статье:
SELECT [OperatorID]
, DATEADD(day, DATEDIFF(day, 0, CreationDate), 0) AS CreationDate
, COUNT(*) AS EnquiryCount
, st.FullName
FROM [Enquiries] AS e
INNER JOIN
(SELECT OperatorID, FirstName + ' ' + LastName AS FullName
FROM dbo.Operators
WHERE (Role = 'Operator')) AS o ON e.OperatorID = o.OperatorID
GROUP BY [OperatorID], DATEADD(day, DATEDIFF(day, 0, CreationDate), 0)
Я получаю следующее сообщение об ошибке:
Column 'o.FullName' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Как обойти это?
Спасибо Магнус. Удивительно быстрый ответ. Приветствия – BrightonDev
Я собираюсь принять это, потому что он ответил на вопрос. Тем не менее, благодаря всем остальным предложениям. – BrightonDev