(SELECT * FROM (SELECT ACCOUNT, DESCRIPTION, COLOR_DESC, SIZE_DESC, QTY, Convert(LAST_UNIT_COST,decimal(10,2)) LAST_UNIT_COGS, Convert(AVG_UNIT_PRICE,decimal(10,2)) AVG_UNIT_PRICE, Convert(NET_COST,decimal(10,2)) NET_COGS, Convert(NET_PRICE,decimal(10,2)) NET_PRICE, MARGIN AS 'MARGIN_%', Convert(NET_MARGIN,decimal(10,2)) NET_MARGIN FROM (SELECT CONCAT(products.REV_CATEGORY,':',products.REVENUE_SUBCATEGORY) ACCOUNT, products.DESCRIPTION, products.COLOR_DESC, products.SIZE_DESC, sum(invoice_items.QUANTITY) QTY, ROUND(cost.UNITCOST,2) LAST_UNIT_COST, ROUND((sum(invoice_items.PRICE)/sum(invoice_items.QUANTITY)),2) AVG_UNIT_PRICE, (sum(invoice_items.QUANTITY)*cost.UNITCOST) NET_COST, sum(invoice_items.PRICE) NET_PRICE, CONCAT(ROUND(((1-((sum(invoice_items.QUANTITY)*cost.UNITCOST)/sum(invoice_items.PRICE)))*100),1),"%") AS 'MARGIN', (sum(invoice_items.PRICE)-(sum(invoice_items.QUANTITY)*cost.UNITCOST)) NET_MARGIN FROM invoice_items INNER JOIN invoices ON invoice_items.INVOICE_ID = invoices.INVOICE_ID INNER JOIN payments ON payments.PAYMENT_ID = invoices.PAYMENT_ID INNER JOIN products ON products.PRODUCT_ID = invoice_items.PRODUCT_ID LEFT JOIN (SELECT * FROM (SELECT restock.PRODUCT_ID, restock.UNITCOST FROM restock WHERE RTYPE = 'RESTOCK' AND DATE(restock.POSTDATE) <= '{ENDDATE}' ORDER BY restock.PRODUCT_ID ASC, restock.POSTDATE DESC) r1 GROUP BY r1.PRODUCT_ID) as cost ON invoice_items.PRODUCT_ID = cost.PRODUCT_ID WHERE payments.DECLINED = 0 AND payments.VOIDEDPAYMENT = 0 AND products.PRODUCT_TYPE like "I%" AND DATE(payments.POSTDATE) >= '{STARTDATE}' AND DATE(payments.POSTDATE) <= '{ENDDATE}' GROUP BY invoice_items.PRODUCT_ID ORDER BY invoice_items.PRODUCT_ID) a ORDER BY ACCOUNT ASC, DESCRIPTION ASC)top) UNION ALL (SELECT ACCOUNT, DESCRIPTION, COLOR_DESC, SIZE_DESC, QTY, '' LAST_UNIT_COGS, '' AVG_UNIT_PRICE, Convert(NET_COST,decimal(10,2)) NET_COGS, Convert(NET_PRICE,decimal(10,2)) NET_PRICE, CONCAT(ROUND(((1-(NET_COST/NET_PRICE))*100),1),"%") AS 'MARGIN_%', Convert((NET_PRICE-NET_COST),decimal(10,2)) NET_MARGIN FROM (SELECT '' ACCOUNT, '' DESCRIPTION, '' COLOR_DESC, 'TOTAL' SIZE_DESC, sum(QTY) QTY, '' LAST_UNIT_COST, '' AVG_UNIT_PRICE, sum(NET_COST) NET_COST, sum(NET_PRICE) NET_PRICE, CONCAT(ROUND(((1-(sum(NET_COST)/sum(NET_PRICE)))*100),1),"%") AS 'MARGIN_%', '' NET_MARGIN FROM (SELECT * FROM (SELECT CONCAT(products.REV_CATEGORY,':',products.REVENUE_SUBCATEGORY) ACCOUNT, products.DESCRIPTION, products.COLOR_DESC, products.SIZE_DESC, sum(invoice_items.QUANTITY) QTY, ROUND(cost.UNITCOST,2) LAST_UNIT_COST, ROUND((sum(invoice_items.PRICE)/sum(invoice_items.QUANTITY)),2) AVG_UNIT_PRICE, (sum(invoice_items.QUANTITY)*cost.UNITCOST) NET_COST, sum(invoice_items.PRICE) NET_PRICE, CONCAT(ROUND(((1-((sum(invoice_items.QUANTITY)*cost.UNITCOST)/sum(invoice_items.PRICE)))*100),1),"%") AS 'MARGIN_%', (sum(invoice_items.PRICE)-(sum(invoice_items.QUANTITY)*cost.UNITCOST)) NET_MARGIN FROM invoice_items INNER JOIN invoices ON invoice_items.INVOICE_ID = invoices.INVOICE_ID INNER JOIN payments ON payments.PAYMENT_ID = invoices.PAYMENT_ID INNER JOIN products ON products.PRODUCT_ID = invoice_items.PRODUCT_ID LEFT JOIN (SELECT * FROM (SELECT restock.PRODUCT_ID, restock.UNITCOST FROM restock WHERE RTYPE = 'RESTOCK' AND DATE(restock.POSTDATE) <= '{ENDDATE}' ORDER BY restock.PRODUCT_ID ASC, restock.POSTDATE DESC) r1 GROUP BY r1.PRODUCT_ID) as cost ON invoice_items.PRODUCT_ID = cost.PRODUCT_ID WHERE payments.DECLINED = 0 AND payments.VOIDEDPAYMENT = 0 AND products.PRODUCT_TYPE like "I%" AND DATE(payments.POSTDATE) >= '{STARTDATE}' AND DATE(payments.POSTDATE) <= '{ENDDATE}' GROUP BY invoice_items.PRODUCT_ID ORDER BY invoice_items.PRODUCT_ID) a ORDER BY ACCOUNT ASC, DESCRIPTION ASC) b) b2)