Iは、次のエラーを取得:このコードでT-SQL集約関数サブクエリ
Cannot perform an aggregate function on an expression containing an aggregate or a subquery.
:
SELECT
loc.Location
,COUNT(CASE
WHEN hr.SAC in (SELECT [SAC] FROM dbo.[Titles] WHERE [title] = 'XYZ')
THEN 1
ELSE NULL
END) AS XYZ_Trainee_Count
,COUNT(CASE
WHEN hr.SAC in (SELECT [SAC] FROM dbo.[Titles] WHERE [title] = 'ABC')
THEN 1
ELSE NULL
END) AS ABC_Trainee_Count
FROM
dbo.n_HRODS hr INNER JOIN dbo.Locations loc
ON loc.LocationID = hr.LocationID
INNER JOIN dbo.EmpData dat
ON dat.EmpID = hr.EmpID
WHERE dat.Trainee = 1
GROUP BY loc.Location
DBOを[タイトル]は、二つの他のテーブルからの2つの列を組み合わせた図です。私は基本的に私の前に、プログラマはこのようなものでしたので、それをこのようにやっている:明らか
,COUNT(CASE
WHEN SAC in (lists about 30 items)
THEN 1
ELSE NULL
END)
を、私はそのcase文には30個の項目を一覧表示したくない...とするとき、それらのアイテムが何のために変更します理由は3年後、誰がこのコードに戻ってそれらのアイテムを更新するのを覚えていますか?誰も...
ご協力いただきありがとうございます。
ありがとうございました! – blacksaibot