sql >> Base de Datos >  >> RDS >> Mysql

Combinar campos de diferentes filas bajo condición

puede calcular el precio del artículo y las tarifas del artículo con dos consultas y unirlas

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

esto supone que hay al menos una fila con itemprice y una fila con itemfees. de lo contrario, debe usar una unión externa.