计算相关表之间的总和

Calculating sum between related tables

我创建了一个测试数据库来说明我的问题:

create table A(
    id int(11) primary key not null,
    price decimal(10,2)
);

create table B(
    id int(11) primary key not null,
    id_a int(11) not null,
    foreign key(id_a) references A(id)
    on update cascade
    on delete restrict
);

insert into A values
(1,25),
(2,30),
(3,35);

insert into B values
(1,1),
(2,1),
(3,2),
(4,2),
(5,3);

这是一些商品(A)及其价格的简化示例,以及一个账单(B),上面有账单ID和外键,代表购买了什么商品。

我需要查询以查找所有已售商品的利润。所以要通过 table B 并找到所有已售商品价格的总和。

您可以只连接两个表:

SELECT SUM(price)
FROM   a
JOIN   b ON b.id_a = a.id