エラーメッセージについてあなたが理解していませんか?それはかなり自明です。つまり、group by
を使用する場合、選択したすべての属性はgroup by
または集計関数(COUNT()
、SUM()
など)のいずれかである必要があります。
あなたのgroup by
あなたはすべてのエラーを持つべきではない修正するのであれば、:
...
GROUP BY TC.Date
, TC.DayName
, TC.DayType
, TC.ScheduleId
, TC.LeaveTaken
, TC.Remarks
, E.EmployeeId
, E.EmployeeNo
, E.Name
, E.ScheduleId
, C.BusinessName
これはあなたが探している結果を与えるかどうかを、別の問題です。
今後の質問について:コードをテキストではなく画像として追加してください。そうすれば、回答者はすべてを入力するのではなく、単純にコピー・ペーストすることができます。
編集:あなたがgroup by
にしたくない場合は、(SQL Serverの2012以上を想定)ウィンドウ関数を使用することができ、あなたの選択した属性のすべて:
SELECT * -- Everything you need
, COUNT(TC.AbsentCalculation) OVER(PARTITION BY E.Name, E.EmployeeId) AS AbsentCount
, SUM(TC.AbsentCalculation) OVER(PARTITION BY E.Name, E.EmployeeId) AS TotalAbsents
FROM ...
あなたがでGROUP BY
を必要としませんあなたがこれを実装するならば、すべて。
あなたは 'TotalAbsents'後にカンマを逃さなかった
Group By
原因にすべてのフィールドを書きますか? –@GinoPane:コメントされたコードは心配しないでください。 –
@Gino Paneはその行は既にコメントされています。 –