按4个不同级别和总数字字段分组

问题描述 投票:-5回答:2

我正在查询具有以下信息的财务数据库:

  • 公司ID
  • 财政年度
  • 财政期间
  • 帐户

我想按前四个字段对数据进行分组,并显示总数量。

我尝试了GROUP BY,但这似乎不起作用。

在我的屏幕截图中,我试图将行1-10显示为一行,因为除了金额之外所有信息都是相同的。

这是我的代码:

SELECT        Erp.GLJrnDtl.Company, Erp.GLJrnDtl.FiscalYear, 
Erp.GLJrnDtl.FiscalPeriod, Erp.GLJrnDtl.BalanceAcct, 
Erp.GLJrnDtl.BookDebitAmount - Erp.GLJrnDtl.BookCreditAmount AS Amount

FROM          Erp.GLJrnDtl INNER JOIN
Erp.GLPeriodBal ON Erp.GLJrnDtl.Company = 
Erp.GLPeriodBal.Company AND Erp.GLJrnDtl.FiscalYear = 
Erp.GLPeriodBal.FiscalYear AND Erp.GLJrnDtl.FiscalPeriod = 
Erp.GLPeriodBal.FiscalPeriod AND 
Erp.GLJrnDtl.BalanceAcct = 
Erp.GLPeriodBal.BalanceAcct

WHERE        (Erp.GLJrnDtl.FiscalYear >= 2018) AND (Erp.GLJrnDtl.Company 
= N'011') and (Erp.GLJrnDtl.SegValue1 = N'310050')

GROUP BY Erp.GLJrnDtl.Company, Erp.GLJrnDtl.FiscalYear, 
Erp.GLJrnDtl.FiscalPeriod, Erp.GLJrnDtl.BalanceAcct, 
Erp.GLJrnDtl.PostedDate, Erp.GLJrnDtl.BookDebitAmount, 
Erp.GLJrnDtl.BookCreditAmount, Erp.GLJrnDtl.SegValue1,                                
Erp.GLPeriodBal.BalanceAmt
sql sql-server tsql
2个回答
1
投票
select company_id, fiscal_year, fiscal_period, account, sum(amount) 
from table  group by company_id, fiscal_year, fiscal_period, account

您需要省略要逐个聚合的字段


0
投票

请解释为什么这不符合您的要求:

select Company_ID, Fiscal_Year, Fiscal_Period, Account, sum(Amount)
from t
group by Company_ID, Fiscal_Year, Fiscal_Period, Account;

这是“明显的”查询。图像中的查询要复杂得多。

© www.soinside.com 2019 - 2024. All rights reserved.