我有一个统计由电话运营商,每天处理的查询数查询SQL服务器:内部连接和组由
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]
如果我内心by子句加入该组之前的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 2012-07-27 09:32:45
我会接受这个,因为它回答了这个问题。感谢所有其他建议。 – BrightonDev 2012-07-27 16:05:21