0
當我嘗試運行代碼時出現以下錯誤,「無法對包含聚合或子查詢的表達式執行聚合函數」。無法執行聚合函數
SELECT dbo.COL_TBL_WAGES.MANUAL, dbo.COL_TBL_VCOURSE.TNG_MDA_TYP_CD,
dbo.COL_2010_TRN_RESULTS2.TNG_SYS_NR,
COUNT(dbo.COL_2010_TRN_RESULTS2.EMP_TNG_STT_DT) AS CountOfEMP_TNG_STT_DT,
dbo.COL_MASTER_COURSE_LIST.Length,
COUNT(
COUNT(dbo.COL_2010_TRN_RESULTS2.EMP_TNG_STT_DT) * (
CASE WHEN IsNumeric([COL_TBL_VCOURSE].[LENGTH]) = 1
THEN [COL_TBL_VCOURSE].[LENGTH]
ELSE 0
END
)
) AS Total_Hours
FROM dbo.COL_TBL_WAGES INNER JOIN
dbo.COL_2010_TRN_RESULTS2 ON dbo.COL_TBL_WAGES.[Job Group Code] =
dbo.COL_2010_TRN_RESULTS2.JOB_GRP_CD INNER JOIN
dbo.COL_MASTER_COURSE_LIST ON dbo.COL_2010_TRN_RESULTS2.TNG_SYS_NR =
dbo.COL_MASTER_COURSE_LIST.[GEMS Code] INNER JOIN
dbo.COL_TBL_VCOURSE ON dbo.COL_2010_TRN_RESULTS2.TNG_SYS_NR =
dbo.COL_TBL_VCOURSE.TNG_SYS_NR
GROUP BY dbo.COL_MASTER_COURSE_LIST.Length, dbo.COL_TBL_WAGES.MANUAL,
dbo.COL_TBL_VCOURSE.TNG_MDA_TYP_CD,
dbo.COL_2010_TRN_RESULTS2.TNG_SYS_NR
你在數*做一個計數(1或0)。這就是不喜歡的。你需要將它們作爲獨立的步驟來完成。創建一個首先獲得計數* 1或0的子查詢,然後對其執行COUNT操作。雖然爲什麼你會指望我不太明白,因爲計數0或計數1是相同的。無論如何,這是核心問題。如果你在你的問題中解釋目標/預期結果,或許我們可以給你一個滿足你需求的查詢。 –
'COUNT(COUNT(TR.EMP_TNG_STT_DT)*(CASE When IsNumeric([COL_TBL_VCOURSE]。[LENGTH])= 1 THEN [COL_TBL_VCOURSE]。[LENGTH] ELSE 0 END))'你能解釋一下這個是什麼意思嗎? –