essaye cela :

SELECT C.post_id, DATE( C.comment_dt ) AS date, COUNT( C.comment_id ) as
nb_comment, ifnull(PS.nb_view,0), DATE(PS.date)
FROM dc_comment C
LEFT OUTER JOIN dc_postsStats PS on PS.post_id=C.post_id and
DATE(C.comment_dt)=DATE(PS.date)
GROUP by C.post_id,DATE(C.comment_dt)
UNION
SELECT PS.post_id, DATE( PS.date ) AS date, COUNT( C.comment_id ) as
nb_comment, PS.nb_view, DATE(PS.date)
FROM dc_comment C
RIGHT OUTER JOIN dc_postsStats PS on PS.post_id=C.post_id and
DATE(C.comment_dt)=DATE(PS.date)
GROUP by C.post_id,DATE(C.comment_dt)




Le 13 novembre 2013 12:39, Christopher Crouzet <
[email protected]> a écrit :

> http://sqlfiddle.com/#!2/431ab/14
> Merci Laurent, malheureusement en modifiant legerement la syntaxe comme
> ci-dessus, j'obtiens un resultat similaire a la methode de Bruno : la
> requete montre seulement les resultats ayant a la fois un nb de views et un
> nb de comments.
>
>
>
> 2013/11/13 Laurent Wandrebeck <[email protected]>
>
> >
> > Christopher Crouzet <[email protected]> a écrit :
> >
> >  J'ai cru comprendre qu'avec UNION il fallait que les colonnes des 2
> tables
> >> correspondent ? Ce qui n'est pas mon cas puisque j'essaye d'ajouter le
> >> nombre de views d'une table a cote du nombre de comments d'une autre
> >> table.
> >>
> >
> > un truc du style (100% non testé ^^) :
> > select
> dc_postsStats.postid,dc_postsStats.date,dc_postsStats.nb_view,dc_comment.nb_comment
> > from dc_postStats,dc_comment where dc_postsStats.postid=dc_comment.postid
> > ?
> >
> >
> > --
> > Dev mailing list - [email protected] - http://ml.dotclear.org/
> > listinfo/dev
> >
> --
> Dev mailing list - [email protected] -
> http://ml.dotclear.org/listinfo/dev
>
-- 
Dev mailing list - [email protected] - http://ml.dotclear.org/listinfo/dev

Répondre à