un simple cumul ...

Petit nouveau ! | 2 Messages

17 mai 2010, 09:20

bonjour,
débutant sur le sujet, je ne parviens pas à réaliser un cumul comme le montre mon exemple :
j'ai une table T1 id,libelle,
T2 id,dataT2,refT1 et
T3 id,dataT3,refT1

je souhaiterai obtenir regroupés par ligne les libellés de T1 avec une colonne count(dataT2), une colonne count(dataT3), et un total en ligne
pourriez vous m'aider SVP ?
merci d'avance

Mammouth du PHP | 661 Messages

17 mai 2010, 09:32

tu peux utiliser les Jointures avec la clause Group By

@++

Petit nouveau ! | 2 Messages

17 mai 2010, 09:35

j'ai essayé mais cela me donne des cumuls sans rapport !

SELECT libelle, COUNT( T2.dataT2 ) , COUNT( T3.dataT3 )
FROM (
T2
Right OUTER JOIN T1 ON T2.refT1 = T1.id
Right OUTER JOIN T3 ON T1.id = T3.refT1
)
GROUP BY libelle

pour etre encore plus précis je souhaite obtenir :
Libelle, T2, T3, total
lib1, 2, 0 , 2
lib2, 1, 1, 2
lib3, 0, 2, 2
si j'ai
T1
1,lib1
2,lib2
3,lib3
T2
1,data123,1
2,data444,1
3,data222,2
T3
1,data111,3
2,data666,3
3,data888,2

Mammouth du PHP | 661 Messages

17 mai 2010, 17:12

et si tu fais GROUP BY T1.id ... ?