按帐户列出的TSQL摘要,最干净的方法是什么?

按帐户列出的TSQL摘要,最干净的方法是什么?,tsql,sum,Tsql,Sum,我正试图按账户合计每个账户的费用和收入。每个账户的收入和支出都是倍数。我正在努力解决这个问题,因为我还在学习SQL,并且认为其他人可能已经解决了这个问题?我当然会感谢你的帮助 我知道这段SQL server代码是不正确的,但它至少让我更清楚地了解了我正在尝试做什么 IFSELECTOBJECT_ID'TEMPDB..Total'不是空的DROP TABLE Total 声明费用小数点后13,2, @收入小数13,2 设置@expenses=sumEXP\u儿童护理\u金额 +sumEXP_食品_

我正试图按账户合计每个账户的费用和收入。每个账户的收入和支出都是倍数。我正在努力解决这个问题,因为我还在学习SQL,并且认为其他人可能已经解决了这个问题?我当然会感谢你的帮助

我知道这段SQL server代码是不正确的,但它至少让我更清楚地了解了我正在尝试做什么

IFSELECTOBJECT_ID'TEMPDB..Total'不是空的DROP TABLE Total

声明费用小数点后13,2, @收入小数13,2

设置@expenses=sumEXP\u儿童护理\u金额 +sumEXP_食品_数量 +sumEXP_人寿保险金额 +sumEXP_运输_金额 +sumEXP\u学费\u金额 +sumEXP_用户_2_金额 +sumEXP\u用户\u 3\u金额 +sumEXP\u公用事业费\u金额

设置@income=sumNET\u PAY\u金额 +其他收入金额

选择F.贷款编号、@收入、@费用

总计 来自OPENQUERYSvrLink,'

选择F.科目、@收入、@费用

来自F 内部联接帐户a ona.account=f.account 其中a.balance>0


仅使用UR'

获取。好的,假设某些字段被分组到同一个表中,如果不是,您只需编写连接,您只需要一个查询。我希望所有的语言都能简洁。。。 @AccountId是您所需的帐户id

SELECT l.LOAN_NUMBER, l.AccountId,
    (SELECT sum(EXP_CHILD_CARE_AMOUNT) + sum(EXP_FOOD_AMOUNT) + 
      sum(EXP_LIFE_INSURANCE_AMOUNT) + sum(EXP_TRANSPORTATION_AMOUNT) + 
      sum(EXP_TUITION_AMOUNT) + sum(EXP_USER_2_AMOUNT) + 
      sum(EXP_USER_3_AMOUNT) + sum(EXP_UTILITIES_AMOUNT) 
      as ExpenseTotal FROM Expenses_Guessing_The_Table_Name
      WHERE AccountId = @AccountId) as ExpenseTotal,
    (SELECT sum(NET_PAY_AMOUNT) + sum(OTHER_INCOME_AMOUNT) as IncomeTotal
      FROM Income_Guessing_The_Table_Name
      WHERE AccountId = @AccountId) as IncomeTotal
    FROM Loans l 
    WHERE  l.AccountId = @AccountId AND l.Balance > 0

你们的桌名是什么?EXP\u CHILD\u CARE\u AMOUNT和EXP\u FOOD\u AMOUNT列是否位于同一个表中?那么净工资金额和其他收入金额呢?是的,所有列都在同一个表中。第二个表仅用于验证帐户是否仍有余额。我将对此进行一次尝试,因此感谢您的帮助..收到此错误:SQL0104N意外的令牌,在WHERE F.Loan_编号后发现。预期的令牌可能包括:。SQLSTATE=42601这里是代码:选择贷款编号,选择sumEXP\u儿童护理金额+sumEXP\u食品金额+sumEXP\u人寿保险金额+sumEXP\u交通金额+sumEXP\u学费金额+sumEXP\u用户2\u金额+sumEXP\u用户3\u金额+sumEXP\u公用事业费用金额作为财务费用总额,其中F.贷款金额作为费用总额,选择sumNET\u PAY\u AMOUNT+sumOTHER\u INCOME\u AMOUNT作为来自财务部门的IncomeTotal,其中L.Loan\u编号作为来自贷款L的IncomeTotal,其中L.First\u Principal\u Balance>0在as ExpenseTotal之前缺少一个右括号。请再次尝试选择贷款编号,选择sumEXP\u儿童护理金额+sumEXP\u食品金额+sumEXP\u人寿保险金额+sumEXP\u交通金额+sumEXP\u学费金额+sumEXP\u用户2\u金额+sumEXP\u用户3\u金额+sumEXP\u公用事业费用金额作为费用从财务中总计选择sumNET\u支付金额+将其他收入金额作为贷款L的财务收入总额,其中L.第一本金余额>0