2012-10-22 39 views
1

因此,我一直在經常遇到這個問題,也許有人可以給我一個很好的解釋,說明如何或爲什麼不起作用。我想GROUP BY只是一列CSHFutureTAs.Time和香港專業教育學院試圖整合簡單的線條集體功能警告小組條款

GROUP BY CSHFutureTAs.Time 

但是這給了我一個錯誤「試圖執行一個查詢,不包括指定表達式‘TA’作爲聚合函數的一部分「,任何人都可以幫助我?

完整的SQL(不帶GROUP CLAUSE):

SELECT CSHFutureTAs.TA 
    , CSHFutureTAs.TIME AS CSHGeneralTAs_TIME 
    , CSHFutureTAs.[CUT OFF   TIME] 
    , CSHFutureTAs.SUNDAY AS CSHGeneralTAs_SUNDAY 
    , CSHFutureTAs.MONDAY AS CSHGeneralTAs_MONDAY 
    , CSHFutureTAs.TUESDAY AS CSHGeneralTAs_TUESDAY 
    , CSHFutureTAs.WEDNESDAY AS CSHGeneralTAs_WEDNESDAY 
    , CSHFutureTAs.THURSDAY AS CSHGeneralTAs_THURSDAY 
    , CSHFutureTAs.FRIDAY AS CSHGeneralTAs_FRIDAY 
    , CSHFutureTAs.SATURDAY AS CSHGeneralTAs_SATURDAY 
    , FUT_Totals.TIME AS GeneralTotals_Time 
    , FUT_Totals.SUNDAY AS GeneralTotals_SUNDAY 
    , FUT_Totals.MONDAY AS GeneralTotals_MONDAY 
    , FUT_Totals.TUESDAY AS GeneralTotals_TUESDAY 
    , FUT_Totals.WEDNESDAY AS GeneralTotals_WEDNESDAY 
    , FUT_Totals.THURSDAY AS GeneralTotals_THURSDAY 
    , FUT_Totals.FRIDAY AS GeneralTotals_FRIDAY 
    , FUT_Totals.SATURDAY AS GeneralTotals_SATURDAY 
    , CSHFutureTAs.[EXCEPTION DAYS] 
    , CSHFutureTAs.[EXCEPTION VALUE] 
    , IIf([FUT_Totals] ! [Time] = "09:00 - 21:00" 
     OR [FUT_Totals] ! [Time] = "10:00 - 22:00", 9, 1) AS SortKey 
FROM 
(
    CSHFutureTAs 
    INNER JOIN FUT_Totals ON (CSHFutureTAs.[HG ID] = FUT_Totals.HG_ID) 
     AND (CSHFutureTAs.TIME = FUT_Totals.TIME) 
) 
INNER JOIN Current_INFO ON (CSHFutureTAs.[HG ID] = Current_INFO.[HG ID]) 
    AND (CSHFutureTAs.[HEADER ID] = Current_INFO.[HEADER ID]) 
    AND (FUT_Totals.HG_ID = Current_INFO.[HG ID]) 
ORDER BY IIf([FUT_Totals] ! [Time] = "09:00 - 21:00" 
     OR [FUT_Totals] ! [Time] = "10:00 - 22:00", 9, 1); 
+2

您必須使用GROUP BY或在select語句的每個字段(列)上使用聚合函數(Sum,Count,First等)。 – Fionnuala

+0

請注意,作業標籤已被棄用,不應使用。 http://meta.stackexchange.com/questions/147100/the-homework-tag-is-now-officially-deprecated –

+0

因此,沒有任何方式可以讓其餘的專欄保持中立,沒有總數或首先例如當我創建一個報告,我可以按時間分組,但它實際上工作,但它通過訪問嚮導。 – KSM

回答

1

哪兒是你的GROUP BY CSHFutureTAs.Time條款?

您需要按一列進行分組,並且任何不屬於組的組成部分的其他列都必須具有聚合功能,例如SUM或AVG。

另外我不認爲你需要在你的FROM parentesys。你爲什麼補充說?

+0

以及我上面提到它,我在之前添加它,但我只顯示了沒有我的sql語句,在排序之前放置行「GROUP BY ...」。 sql中不需要括號,但它起作用。 – KSM

+0

所以你錯過了你的聚合函數 – Diego

+0

嗯,是的,我認爲,我的目標是保持所有其他列需要作爲正則表達式,而不需要第一,最後,平均等簡單分組到一個單一的列。 – KSM