###前提・実現したいこと
WordPressを使ってサイトを構築しております。
以下のようなSQL文を使って、各ユーザー(user_id)のポイント合計(c.creds)を集計しております。
それぞれのテーブルは、FROM句の違いにより異なる結果を返すのですが、WHERE句で特定のカラム(name)に入っているカテゴリー(カテゴリー1,2,3)から数値を集計している点は同様となっております。
今回、この3つのテーブルの「カテゴリー1」の数値のみを串刺し集計したいと考えております。
FROM句を結合しようと考えたり、試行錯誤してみましたが解決案が見いだせない状況が続いております。
どなたかお知恵を拝借できれば幸いです。
###該当のソースコード
php
1//集計対象テーブルA 2$ranking_A = ' 3 SELECT c.user_id, sum( c.creds ) AS total 4 FROM 5 ((wp_2_myCRED_log c 6 LEFT JOIN wp_2_comments o ON c.ref_id = o.comment_ID) 7 INNER JOIN wp_2_term_relationships r ON o.comment_post_ID = r.object_id) 8 INNER JOIN wp_2_terms t ON r.term_taxonomy_id = t.term_id 9 WHERE 10 t.name = "カテゴリ1" OR t.name = "カテゴリ2" OR t.name = "カテゴリ3" 11 GROUP BY c.user_id 12 ORDER BY total DESC 13 '; 14 15//集計対象テーブルB 16$ranking_B = ' 17 SELECT c.user_id, sum( c.creds ) AS total 18 FROM 19 (((wp_2_myCRED_log c 20 LEFT JOIN wp_2_posts p ON c.ref_id = p.ID) 21 INNER JOIN wp_2_postmeta m ON p.ID = m.post_id) 22 INNER JOIN wp_2_term_relationships r ON m.meta_value = r.object_id) 23 INNER JOIN wp_2_terms t ON r.term_taxonomy_id = t.term_id 24 WHERE 25 t.name = "カテゴリ1" OR t.name = "カテゴリ2" OR t.name = "カテゴリ3" 26 GROUP BY c.user_id 27 ORDER BY total DESC 28 '; 29 30//集計対象テーブルC 31$ranking_C = ' 32 SELECT c.user_id, sum( c.creds ) AS total 33 FROM 34 ((wp_2_myCRED_log c 35 LEFT JOIN wp_2_posts p ON c.ref_id = p.ID) 36 INNER JOIN wp_2_term_relationships r ON p.ID = r.object_id) 37 INNER JOIN wp_2_terms t ON r.term_taxonomy_id = t.term_id 38 WHERE 39 t.name = "カテゴリ1" OR t.name = "カテゴリ2" OR t.name = "カテゴリ3" 40 GROUP BY c.user_id 41 ORDER BY total DESC 42 ';
###補足情報(言語/FW/ツール等のバージョンなど)
phpのバージョン5.7、Wordpressは4.5となります。
プログラミングを勉強し始めて日が浅く、初歩的な質問となり大変恐縮ですが、どうぞよろしくお願い申し上げます。
その他、ご回答に必要な情報がありましたらお気軽にご連絡くださいませ。
回答3件
あなたの回答
tips
プレビュー