2012-05-18 91 views
0

我正在構建一些基本的SQL查詢,並且已經在'group By'子句中脫節。我在列標題上使用了別名,但在嘗試按照我的結果分組時,遇到了問題。我此刻的代碼是: -SQL組By子句(無效列)?

SELECT     
    vwREP_GP_ContractProjectPurchaseCostCatID.PACOSTCATID AS COST_CAT_CODE, 
    vwREP_GP_ContractProjectPurchaseCostCatID.PACOSTCATNME AS COST_CAT_NAME, 
    vwREP_GP_ContractProjectPurchaseRpt.COST, 
    vwREP_GP_ContractProjectPurchaseRpt.ITEMDESC AS ITEM, 
    vwREP_GP_ContractProjectPurchaseRpt.CREDITOR, 
    vwREP_GP_ContractProjectPurchaseRpt.DOC_NUM AS DOCUMENT_NUMBER, 
    vwREP_GP_ContractProjectPurchaseRpt.DESCRIPTION, 
    vwREP_GP_ContractProjectPurchaseRpt.DOC_DATE AS DATE, 
    vwREP_GP_ContractProjectPurchaseRpt.PROJECT AS JOB_CODE_STAGE, 
    vwREP_GP_ContractProjectPurchaseRpt.COMPOUNDNAME AS CATEGORY_DESCRIPTION 
FROM   
    vwREP_GP_ContractProjectPurchaseCostCatID 
INNER JOIN 
    vwREP_GP_ContractProjectPurchaseRpt ON wREP_GP_ContractProjectPurchaseCostCatID.PACOSTCATID = vwREP_GP_ContractProjectPurchaseRpt.PACOSTCATID 


SELECT CATEGORY_DESCRIPTION, SUM(COST) AS TotalCost FROM 
    ( 
     SELECT COMPOUNDNAME AS CATEGORY_DESCRIPTION FROM wREP_GP_ContractProjectPurchaseRpt 
    ) A 
GROUP BY CATEGORY_DESCRIPTION 

額外的代碼來處理使用別名列名我現在得到一個錯誤,「成本」是一個無效的列已經加入?我沒有改變這個列名?

我知道它明顯地盯着我,但我的大腦並沒有參與,所以如果任何人都可以指出我出錯的地方,或者做一個簡單的方法,這將是一個很大的幫助。

在此先感謝。

回答

1

使用

SELECT COMPOUNDNAME AS CATEGORY_DESCRIPTION, 
     Sum(COST) AS TotalCost 
FROM vwREP_GP_ContractProjectPurchaseRpt 
GROUP BY COMPOUNDNAME 

代替

SELECT CATEGORY_DESCRIPTION,SUM(COST)AS TotalCost FROM 
( 
    SELECT COMPOUNDNAME AS CATEGORY_DESCRIPTION FROM vwREP_GP_ContractProjectPurchaseRpt 
) A 
GROUP BY CATEGORY_DESCRIPTION 

你不包括內部查詢的費用列(這是所有正在對SQL Server Management Studio中2005年完成)。

+0

謝謝你的答案。現在工作正常。 – user1086159

1
SELECT CATEGORY_DESCRIPTION, SUM(COST) AS TotalCost 
FROM ( 
     SELECT COMPOUNDNAME AS CATEGORY_DESCRIPTION, COST 
     FROM vwREP_GP_ContractProjectPurchaseRpt 
     ) A 
GROUP BY 
     CATEGORY_DESCRIPTION