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
