Další problém bych viděl v GROUP BY. MySQL má takovou zajímavou vlastnost (pro mě je to spíš hrubá chyba), že umožňuje mít SELECTu i sloupce, které nejsou uvedené v GROUP BY či nejsou agregované. To pak vede k neočekávaným výsledkům.
Jinak s tím špatným návrhem databáze souhlasím, dalo mi dost práce se v tom zorientovat. Což u dvou tabulek je na pováženou.