0

私はいくつかの基本的な SQL クエリを作成していますが、'group 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

エイリアス列名の使用に対処するために追加のコードを追加すると、「COST」が無効な列であるというエラーが表示されますか? この列名を変更していませんか??

私を見つめていることは明らかですが、私の脳は関与していないので、誰かが私がどこで間違っているのか、またはこれを行うためのより簡単な方法を指摘できれば、それは大きな助けになります.

前もって感謝します。

(これはすべてSQL Server Management Studio 2005で行われています)

4

2 に答える 2

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

内部クエリにCOST列を含めていませんでした。

于 2012-05-18T10:54:42.987 に答える
1
SELECT  CATEGORY_DESCRIPTION, SUM(COST) AS TotalCost
FROM    ( 
        SELECT COMPOUNDNAME AS CATEGORY_DESCRIPTION, COST
        FROM   vwREP_GP_ContractProjectPurchaseRpt
        ) A 
GROUP BY
        CATEGORY_DESCRIPTION
于 2012-05-18T10:54:54.033 に答える