Ale, uz zase to mam spatne :) Jo, a union myslim vyzaduje pro tabulky aliasy, viz a, b, c
To grupovani lze napsat totiz az na konci. Ale mozna bych to nechal u tech selectu --1, --2. Nemam takove znalosti, abych mohl posoudit, co bude rychlejsi. Tipnul bych si nejdriv zgrupovat vysledky a pak zgrupovat ty 2 cisla.
SELECT c.id_žáka, sum(c.x), sum(c.y) FROM ( (SELECT id_žáka, sum(body_x) AS x, NULL AS y FROM ... GROUP BY id_žáka) a -- 1 UNION (SELECT id_žáka, NULL AS x , sum(body_y) AS y FROM ... GROUP BY id_žáka) b -- 2 ) c LEFT JOIN ... jmeno zaka a pod
GROUP BY id_žáka