0

以下の SQL を実行していますが、エラーが発生し続けます:-

「列 'SRVS.dbo.BTQGLDistributionsWithProjectCodesHM.AccountNo' は、集計関数にも GROUP BY 句にも含まれていないため、選択リストでは無効です。

私が実行しているコードは次のとおりです:-

SELECT         AccountNo, 
           TransDate, 
           JournalNo, 
           AuditTrail, 
           Description, 
           JnlAmount, 
           ACTINDX, 
           CONTRACTNAME, 
           PAPROJNUMBER,GROUPING(PAPROJNUMBER) as PAPROJNUMBER, 
           SUM(PAFeebillamount) as total
FROM       SRVS.dbo.BTQGLDistributionsWithProjectCodesHM
GROUP BY   PAPROJNUMBER with rollup
ORDER BY   GROUPING (PAPROJNUMBER

誰かがこれについて正しい方向に私を向けることができますか?

4

2 に答える 2

2

ステートメントを使用する場合GROUP BY、集約を使用しないものはすべてgroup by句で指定する必要があります。

SELECT     AccountNo,  
           TransDate,  
           JournalNo,  
           AuditTrail,  
           Description,  
           JnlAmount,  
           ACTINDX,  
           CONTRACTNAME,  
           PAPROJNUMBER,GROUPING(PAPROJNUMBER) as PAPROJNUMBER,  
           SUM(PAFeebillamount) as total 
FROM       SRVS.dbo.BTQGLDistributionsWithProjectCodesHM 
GROUP BY   
       AccountNo,  
       TransDate,  
       JournalNo,  
       AuditTrail,  
       Description,  
       JnlAmount,  
       ACTINDX,  
       CONTRACTNAME,
       PAPROJNUMBER with rollup 
ORDER BY   GROUPING (PAPROJNUMBER)
于 2012-10-08T10:12:35.043 に答える
1

次のように、句SELECTの集計関数に含まれていないすべての列をステートメントに含める必要があります。GROUP BY

SELECT AccountNo, TransDate, 
  JournalNo, AuditTrail, Description, 
  JnlAmount, ACTINDX, CONTRACTNAME, 
  PAPROJNUMBER, GROUPING(PAPROJNUMBER) as PAPROJNUMBER,
  SUM(PAFeebillamount) as total 
FROM SRVS.dbo.BTQGLDistributionsWithProjectCodesHM 
GROUP BY 
  AccountNo, TransDate, 
  JournalNo, AuditTrail, Description, 
  JnlAmount, ACTINDX, CONTRACTNAME, 
  PAPROJNUMBER
with rollup 
ORDER BY GROUPING (PAPROJNUMBER)
于 2012-10-08T10:12:54.023 に答える