電話オペレーターによる 1 日あたりの問い合わせ数をカウントするクエリがあります。
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]
group 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)
次のエラーが表示されます。
列 'o.FullName' は、集計関数にも GROUP BY 句にも含まれていないため、選択リストでは無効です。
どうすればこれを回避できますか?