How to group same columns from same two tables, but from two different result sets and/or conditions
Keep in mind that queries like this operate thus:


JOIN all the tables together, generating a 'large' temp table with all combinations that have not been filtered out.
Then do the aggregates (SUM, GROUP_CONCAT, etc)


A common problem is that SUMs and COUNTs are inflated because of all the combinations.  In your case, GROUP_CONCAT may have duplicates; this can be handled by saying GROUP_CONCAT(DISTINCT ...).

A common solution is to focus on the aggregates, using a minimum of JOINs to get the aggregates right, then JOIN to the rest of the tables.

Another solution that sometimes works is to replace a JOIN with a subquery (in the SELECT part) that computes "looks up" a value (such as mapping an id to a name).

You must be using an older version of MySQL; new versions don't like you to say GROUP BY one-column while listing 7 columns in the SELECT.

Sorry, this is only "handwaving", but your question is also missing details, such as details of "when I added...", SHOW CREATE TABLE, specifying which table each column belongs to, etc.