個人開発者をサポートするQ&Aツール

個人開発者・フリーランスエンジニア・リモートプログラマの
問題解決をサポートするサービスです

登録不要ですぐに質問を開始できます

複数のテーブルを外部結合して、それぞれのidのユニークなカウントを取りたい

解決済 無し 1件

nanasiのプロフィール画像
nanasi
4つのテーブルを外部結合し、それぞれのidのユニークな件数を取得したいと考えています。
以下のようなクエリーを発行していますが、思うような結果が取得できずに困っています。

よろしくお願いいたします

SELECT 
    q.id, 
    COUNT(a.`id`) , 
    COUNT(c.`id`) 
FROM 
    `questions_tbl` q 
    LEFT OUTER JOIN `a_tbl` a ON q.`id` = a.`q_id` 
    LEFT OUTER JOIN `t_tbl` t ON q.`id` = t.`qa_id` 
    LEFT OUTER JOIN `c_tbl` c ON q.`id` = c.`q_id` 
GROUP BY 
    q.`id`
mysql
ベストアンサーに選ばれた回答
あたいの重複しないユニークな値を取得したいのであれば、
それぞれのCOUNTにDISTINCTを追加するのはどうでしょうか?


SELECT 
    q.id, 
    COUNT(DISTINCT a.`id`) , 
    COUNT(DISTINCT c.`id`) 
FROM 
    `questions_tbl` q 
    LEFT OUTER JOIN `a_tbl` a ON q.`id` = a.`q_id` 
    LEFT OUTER JOIN `t_tbl` t ON q.`id` = t.`qa_id` 
    LEFT OUTER JOIN `c_tbl` c ON q.`id` = c.`q_id` 
GROUP BY 
    q.`id`

回答の編集

この質問はすでに終了しているため変更できません


回答

この質問はすでに終了しているため、回答できません