按 4 个不同级别和总数字字段分组
Posted
技术标签:
【中文标题】按 4 个不同级别和总数字字段分组【英文标题】:Group by 4 different levels and total numeric field 【发布时间】:2018-04-12 14:32:13 【问题描述】:我正在查询具有以下信息的财务数据库:
公司编号 财政年度 会计期间 帐户 金额我想按前四个字段对数据进行分组,并显示分组的总金额。
我尝试了 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
【问题讨论】:
这里的大多数人想要格式化的文本,而不是图像。 (而且我无法在手机上阅读那个微小的图像文本。) 我什至无法在我的电脑上阅读。 【参考方案1】:select company_id, fiscal_year, fiscal_period, account, sum(amount)
from table group by company_id, fiscal_year, fiscal_period, account
您需要将要聚合的字段逐行排除在组之外
【讨论】:
【参考方案2】:请解释为什么这不能满足您的要求:
select Company_ID, Fiscal_Year, Fiscal_Period, Account, sum(Amount)
from t
group by Company_ID, Fiscal_Year, Fiscal_Period, Account;
这是“显而易见的”查询。图片中的查询要复杂得多。
【讨论】:
我无法解释。我对 SQL 没有任何经验,但除了你们和谷歌之外,我没有其他人可以问。我几乎没有足够的知识来整理这个查询,因此我问这个问题。感谢您的帮助。以上是关于按 4 个不同级别和总数字字段分组的主要内容,如果未能解决你的问题,请参考以下文章
Django 查询 - 是不是可以在数据库级别按公共字段对元素进行分组?