Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kombinieren Sie Felder aus verschiedenen Zeilen je nach Bedingung

Sie können Artikelpreis und Artikelgebühren mit zwei Abfragen berechnen und zusammenführen

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

dies setzt voraus, dass es mindestens eine Zeile mit Artikelpreis und eine Zeile mit Artikelgebühren gibt. andernfalls sollten Sie einen äußeren Join verwenden.