[FB 1.5] jointure + group by
bonjour
j'ai deux tables en relation fille-mère via une foreign key classique, et je voudrais une requête statistique incluant des champs non regroupés
par exemple les tables:colonnes suivantes
MERE : IdMere, ETAT1, ETAT2
FILLE : IdMere, A, B, ...Z (beaucoup de colonnes)
je voudrais pouvoir afficher pour chaque ligne de MERE :
ETAT1, ETAT2, sum(A), ... sum(Z)
les 2 seuls moyen que j'ai trouvé sont :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
1)
select M.IdMere,
M.ETAT1,
M.ETAT2,
(select F1.A from FILLE F1 where M.IdMere=F1.IdMere group by F1.IdMere) as SumA,
...
(select Fn.Z from FILLE Fn where M.IdMere=Fn.IdMere group by Fn.IdMere) as SumZ
from MERE M
2) ou :
select M.IdMere, M.ETAT1, M.ETAT2,
sum(F.A), ... sum(F.Z)
from FILLE F
inner join MERE M on M.IdMere=F.IdMere
group by M.IdMere, M.ETAT1, M.ETAT2 |
je sens :o)) qu'aucun des deux n'est très efficace, existe t-il un meilleur moyen ou sinon laquelle des deux est la plus correcte ?
merci de votre aide
jlf