复合求和:我想创建一个复合查询,它从两个不同的表中获取两列的单独总和,然后对它们求和

Posted

技术标签:

【中文标题】复合求和:我想创建一个复合查询,它从两个不同的表中获取两列的单独总和,然后对它们求和【英文标题】:Compound summation: I would like to create a compound query which gets the individual sum of two columns from two different tables and then sum them 【发布时间】:2021-11-03 18:20:06 【问题描述】:
select sum(saved_amount - withdrawal_amount) from goal_withdrawal as sum1;

union 

select suM(amount) from phone_verification as sum2;

select sum1  + sum2;

【问题讨论】:

【参考方案1】:

您可以在 select 语句中使用 select 语句来获得所需的内容。 我已经制定了以下示例:

--Creating some fake-data
DECLARE @goal_withdrawal TABLE (saved_amount int, withdrawal_amount int);
INSERT INTO @goal_withdrawal VALUES (100,100);
INSERT INTO @goal_withdrawal VALUES (150,100);
INSERT INTO @goal_withdrawal VALUES (200,125);

DECLARE @phone_verification TABLE (amount int);
INSERT INTO @phone_verification VALUES (100);
INSERT INTO @phone_verification VALUES (150);

SELECT 
    (
        SELECT (SUM(saved_amount) - SUM(withdrawal_amount)) 
        FROM @goal_withdrawal
    ) AS sum1,
    (
        SELECT SUM(amount) 
        FROM @phone_verification
    ) AS sum2,
    (
        SELECT (SUM(saved_amount) - SUM(withdrawal_amount)) 
        FROM @goal_withdrawal
    ) 
    + 
    (
        SELECT SUM(amount) 
        FROM @phone_verification
    ) AS sum3

产生三列:

Sum1 为 125 Sum2 为 250 Sum3 为 375

【讨论】:

以上是关于复合求和:我想创建一个复合查询,它从两个不同的表中获取两列的单独总和,然后对它们求和的主要内容,如果未能解决你的问题,请参考以下文章

我从两个外键引用到两个不同的表中创建复合键时出错

如何识别任何 Mysql 数据库表中的复合主键?

NHibernate 是不是支持使用复合 ID 将抽象类映射到不同的表?

复合主键:好还是坏?

使用实体框架将行插入到具有复合键的表中

实体框架:如何从具有复合键的表中返回一行?