Cześć. Załóżmy, że mam tabelę T1, która posiada relacje jeden do wielu z tabelami T2 i T3 . Chciałbym wypisać np. nazwę z T1, sumę liczb z T2, sumę liczb z T3. Oczywiście pogrupowane, że sumuje mi liczby dla odpowiedniej nazwy. Schemat tabel, dane w tabelach i interesujące mnie wyniki są poniżej.
Zrobiłem coś takiego:
SELECT T1.Nazwa,
(SELECT SUM(Liczba) FROM T2 WHERE T2.Id = T1.Id),
(SELECT SUM(Liczba) FROM T3 WHERE T3.Id = T1.Id)
FROM T1
Jednak czy istnieje jakieś lepsze i wydajniejsze rozwiązanie? Próbowałem robić to z GROUP BY jednak wyniki miałem złe.
Tabele:
Dane i wyniki: