我有3张桌子。
PersonT: ID 名称
洛特: ID 价
PersonLotT: 为person_id lot_id
我想知道这样的信息: 迈克尔(他所有人的总和,例如300 + 400 + 500 = 1200) 亚历克斯900 詹姆斯500
我尝试进行不同的查询,但一切都错了。
答案 0 :(得分:1)
此查询在您的方案中很有用
从PersonLot中选择SUM(LotT.price)作为TotalPrice,PersonT.Name 在PersonLot.personID = PersonT.personid内部联接LotT上加入PersonT 在PersonLot.Lotid = LotT.id group by PersonT.Name
答案 1 :(得分:0)
试试这个。
select name, sum(price)
from PersonLotT PL join LotT L on PL.lot_id = L.id
join PersonT P on PL.person_id = P.id
group by name;
设置sql小提琴以探索SQL Fidde
答案 2 :(得分:0)
试试这个:
select p.id, p.name, sum(t.price) as price
from PersonLotT pl
inner join PersonT p on pl.person_id = p.id
inner join LotT l on pl.lot_id = l.id
group by p.id, p.name;