Mysql
 sql >> Base de données >  >> RDS >> Mysql

Combiner des champs de différentes lignes sous condition

vous pouvez calculer le prix de l'article et les frais de l'article avec deux requêtes et les joindre

select a.orderid, a.price, b.fees
from (select orderid, sum(amount) price from report where amounttype='ItemPrice' group by orderid) a
     join (select orderid, sum(amount) fees from report where amounttype='ItemFees' group by orderid) b
     on a.orderid = b.orderid

cela suppose qu'il y a au moins une ligne avec itemprice et une ligne avec itemfees. sinon, vous devez utiliser une jointure externe.