Sql server 如何对sql server中两行的值求和

Sql server 如何对sql server中两行的值求和,sql-server,Sql Server,此SQL查询返回多行中的剩余结果。我想将剩余值相加为总剩余值。 我找到了一个可以返回您所需内容的解决方案: SELECT ( (SUM(t_price) - SUM(a_dvpay)) - ( SELECT SUM(inst_amount) FROM installment WHERE uid = user_info.uid ) ) AS remaining FROM user_info WHERE faculty_

此SQL查询返回多行中的剩余结果。我想将剩余值相加为总剩余值

我找到了一个可以返回您所需内容的解决方案:

SELECT (
    (SUM(t_price) - SUM(a_dvpay)) - (
        SELECT SUM(inst_amount)
        FROM installment
        WHERE uid = user_info.uid
    )        
) AS remaining
FROM user_info
WHERE faculty_id = @faculty_id
GROUP BY uid;

测试它:

因此它将是
分期付款
表中的金额之和,我假设不是给定
教员id
下的所有成员都有记录。为了满足这一需求,我使用了
COALESCE
来处理
instance
表中的
null

SELECT SUM(remaining) FROM (
    SELECT sum(t_price - a_dvpay) as remaining  
    FROM user_info
    WHERE faculty_id = 1
    UNION
    SELECT -SUM(COALESCE(inst_amount,0))
    FROM installment inst
    WHERE uid IN (SELECT DISTINCT user_info.uid FROM user_info WHERE faculty_id = 1)
) x

删除GROUPBY子句

SELECT ui.uid, 
    (SUM(ui.t_price) - SUM(ui.a_dvpay)) - SUM(COALESCE(i.inst_amount, 0)) `remaining`
FROM user_info ui
    LEFT JOIN installment i ON i.uid = ui.uid
WHERE faculty_id = @faculty_id
GROUP BY ui.uid;

别名MySQL和sql server引用的结果和总和不同,请。选择其中任何一个。预期结果是什么?检查屏幕截图,您将清除我想要的内容…我的预期结果是165450+22000=187450faculty id在所有情况下都是相同的“1”…但您的查询给出的结果与我的预期不同。您可以使用您给出的公式进行检查,我只是重复你在问题中使用的公式
SELECT ((sum(t_price) - sum(a_dvpay))-(select sum(inst_amount) from installment where uid=user_info.uid)) as remaining  FROM user_info WHERE (faculty_id = @faculty_id)**strong text**