2017-07-06 11 views
1

参加:この最初のクエリは、 "pgm_posts.post_title" と "pgm_post_views.count"(pgm_post_views.type = "4")を取得私は2つのクエリに参加したいと思いますmysqlの2つのクエリ

pgm_posts TABLE

SELECT pgm_posts.post_title, pgm_post_views.count 
FROM pgm_posts, pgm_post_views 
WHERE pgm_post_views.type="4" AND pgm_post_views.id = pgm_posts.id 

この2番目のクエリは、条件付きで "pgm_post_views"のすべてのIDを取得します。

pgm_post_views.type = "0":get "period"の条件です。 (ルックIMG)

pgm_post_views TABLE

SELECT pgm_posts.id 
FROM pgm_posts 
INNER JOIN pgm_post_views 
ON pgm_posts.id = pgm_post_views.id AND pgm_post_views.type="0" AND DATE_FORMAT(pgm_post_views.period, "%Y-%m-%d") <= DATE_FORMAT(CURRENT_DATE - INTERVAL 1 MONTH, '%Y-%m-%d') AND DATE_FORMAT(pgm_posts.post_date, "%Y-%m-%d") <= DATE_FORMAT(CURRENT_DATE - INTERVAL 1 MONTH, '%Y-%m-%d') 

再開:最初のクエリPOST_TITLEと2番目のクエリのすべてのIDに基づいて合計数を取得します。

どうすればいいですか?

答えて

0

簡単な方法は、純粋である

SELECT p 
     gm_posts.post_title 
     , pgm_post_views.count 
FROM pgm_posts 
INNER JOIN pgm_post_views ON pgm_post_views.id = pgm_posts.id 
        AND pgm_post_views.type="4" 
INNER JOIN ( 
SELECT 
     pgm_posts.id 
FROM pgm_posts 
INNER JOIN pgm_post_views ON pgm_posts.id = pgm_post_views.id AND pgm_post_views.type="0" 
      AND DATE_FORMAT(pgm_post_views.period, "%Y-%m-%d") <= 
         DATE_FORMAT(CURRENT_DATE - INTERVAL 1 MONTH, '%Y-%m-%d') 
      AND DATE_FORMAT(pgm_posts.post_date, "%Y-%m-%d") <= 
         DATE_FORMAT(CURRENT_DATE - INTERVAL 1 MONTH, '%Y-%m-%d') 
) T on T.id = pgm_posts 
+0

Thxをが助けを、私はどのように私ができる、他のクエリのために今理解選択したテーブルに基づいて参加します!どうも – Lemecparla

関連する問題