En version qui marche mieux : SELECT C.post_id, DATE( C.comment_dt ) AS date, COUNT( C.comment_id ) as nb_comment, ifnull(PS.nb_view,0) as nb_view 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 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 PS.post_id,DATE(PS.date) (Le UNION est nécessaire ici, mysql ne connait pas les full outer join) -- Bruno Le 13 novembre 2013 13:44, Bruno <[email protected]> a écrit : > 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
