Alright, I totally hate myself for asking this; but I'm looking for another way to do this query, something that might be faster as well as more elegant (this looks like crap). Tell me what you think please:
SELECT TRUNCATE(SUM(sub.Total),3) AS GrpTotal, sub.ActualDate,
TRUNCATE(SUM(sub.BonusAmt),3) AS GrpBonusAmt, sub.UID,
sub.CUSTID, YEAR(MIN(sub.ActualDate)) AS Year, pusers.username
FROM ( SELECT a.UID, a.ActualDate, 'Global Report' AS Report,
SUM(a.totalpayment) AS Total, a.CUSTID,
((SUM(a.totalpayment)*IFNULL((u.retention_percent/100),1))+IFNULL(u.bonus_amount,0)) AS BonusAmt
FROM `globalreport` a
LEFT JOIN `users` u ON u.uid = a.UID
WHERE true AND a.CUSTID = 1020
GROUP BY a.ActualDate, a.UID
UNION ALL
SELECT a.UID, a.ActualDate, 'Amex Residuals' AS Report,
SUM(a.payment) AS Total, a.CUSTID,
((SUM(a.payment)*IFNULL((u.retention_percent/100),1))+IFNULL(u.bonus_amount,0)) AS BonusAmnt
FROM `amexresiduals` a
LEFT JOIN `users` u ON u.uid = a.UID
WHERE true AND a.CUSTID = 1020
GROUP BY a.ActualDate, a.UID
UNION ALL
SELECT a.UID, a.ActualDate, 'Compliance Fee' AS Report,
SUM(a.profit) AS Total, a.CUSTID,
((SUM(a.profit)*IFNULL((u.retention_percent/100),1))+IFNULL(u.bonus_amount,0)) AS BonusAmnt
FROM `compliancefee` a
LEFT JOIN `users` u ON u.uid = a.UID
WHERE true AND a.CUSTID = 1020
GROUP BY a.ActualDate, a.UID
UNION ALL
SELECT a.UID, a.ActualDate, 'Checks On Demand' AS Report,
SUM(a.myprofit) AS Total, a.CUSTID,
((SUM(a.myprofit)*IFNULL((u.retention_percent/100),1))+IFNULL(u.bonus_amount,0)) AS BonusAmnt
FROM `geticheck` a
LEFT JOIN `users` u ON u.uid = a.UID
WHERE true AND a.CUSTID = 1020
GROUP BY a.ActualDate, a.UID
UNION ALL
SELECT a.UID, a.ActualDate, 'Gift Cards on Demand' AS Report,
SUM(a.payment) AS Total, a.CUSTID,
((SUM(a.payment)*IFNULL((u.retention_percent/100),1))+IFNULL(u.bonus_amount,0)) AS BonusAmnt
FROM `gcod` a
LEFT JOIN `users` u ON u.uid = a.UID
WHERE true AND a.CUSTID = 1020
GROUP BY a.ActualDate, a.UID
UNION ALL
SELECT a.UID, a.ActualDate, 'Global Check' AS Report,
SUM(a.myprofit) AS Total, a.CUSTID,
((SUM(a.myprofit)*IFNULL((u.retention_percent/100),1))+IFNULL(u.bonus_amount,0)) AS BonusAmnt
FROM `globalcheck` a
LEFT JOIN `users` u ON u.uid = a.UID
WHERE true AND a.CUSTID = 1020
GROUP BY a.ActualDate, a.UID
UNION ALL
SELECT a.UID, a.ActualDate, 'Bonus True Up' AS Report,
SUM(a.finalpayment) AS Total, a.CUSTID,
((SUM(a.finalpayment)*IFNULL((u.retention_percent/100),1))+IFNULL(u.bonus_amount,0)) AS BonusAmnt
FROM `bonustrueup` a
LEFT JOIN `users` u ON u.uid = a.UID
WHERE true AND a.CUSTID = 1020
GROUP BY a.ActualDate, a.UID
UNION ALL
SELECT a.UID, a.ActualDate, 'Bonus Take Back - Did Not Activate' AS Report,
SUM(a.amount) AS Total, a.CUSTID,
((SUM(a.amount)*IFNULL((u.retention_percent/100),1))+IFNULL(u.bonus_amount,0)) AS BonusAmnt
FROM `bonusadjnosetup` a
LEFT JOIN `users` u ON u.uid = a.UID
WHERE true AND a.CUSTID = 1020
GROUP BY a.ActualDate, a.UID
UNION ALL
SELECT a.UID, a.ActualDate, 'Bonus Take Back - Closed Less Than 6 Months' AS Report,
SUM(a.amount) AS Total, a.CUSTID,
((SUM(a.amount)*IFNULL((u.retention_percent/100),1))+IFNULL(u.bonus_amount,0)) AS BonusAmnt
FROM `bonusadjclosed6mo` a
LEFT JOIN `users` u ON u.uid = a.UID
WHERE true AND a.CUSTID = 1020
GROUP BY a.ActualDate, a.UID
UNION ALL
SELECT a.UID, a.ActualDate, 'Month End Fee Rejects' AS Report,
SUM(a.amount) AS Total, a.CUSTID, SUM(a.amount) AS BonusAmnt
FROM `merchantloss` a
LEFT JOIN `users` u ON u.uid = a.UID
WHERE true AND a.CUSTID = 1020
GROUP BY a.ActualDate, a.UID
UNION ALL
SELECT a.UID, a.ActualDate, 'Direct ACH Debits and Credits' AS Report,
SUM(a.amount*-1) AS Total, a.CUSTID, SUM(a.amount*-1) AS BonusAmnt
FROM `dirachdebcred` a
LEFT JOIN `users` u ON u.uid = a.UID
WHERE true AND a.CUSTID = 1020
GROUP BY a.ActualDate, a.UID
UNION ALL
SELECT a.UID, a.ActualDate, 'Merchant Adjustments' AS Report,
SUM(a.amount) AS Total, a.CUSTID,
((SUM(a.amount)*IFNULL((u.retention_percent/100),1))+IFNULL(u.bonus_amount,0)) AS BonusAmnt
FROM `merchantadj` a
LEFT JOIN `users` u ON u.uid = a.UID
WHERE true AND a.CUSTID = 1020
GROUP BY a.ActualDate, a.UID
) sub
LEFT JOIN `pending_users` pusers ON pusers.UID = sub.UID
WHERE sub.CUSTID = 1020
AND sub.`UID` NOT IN
( SELECT `UID`
FROM `users`
WHERE `is_admin` AND `company_id` = sub.`CUSTID`)
GROUP BY sub.ActualDate, sub.UID, sub.Report
ORDER BY sub.ActualDate ASC
Clearly, this is a lengthy query. I'm just not sure it has to be. Essentially, I'm gathering and summing a different column in each of the unioned tables and grouping by that amount at the very end so I can get a total sum from all tables.