MySQLCOUNT()
メソッドを使用して、2つのテーブルuid
のu.idを持つ行の数を調べています。
そのために、私は以下の方法を使用しています。
SELECT u.id, u.first_name, u.last_name, u.email, u.username, COUNT( q.uid ) AS `q_count`, COUNT( a.uid ) AS `a_count`
FROM `users` AS u
INNER JOIN `questions` AS q ON u.id = q.uid
INNER JOIN `answers` AS a ON u.id = a.uid
WHERE u.username = 'admin'
ただし、上記のクエリを実行すると、2番目のカウントは最初のカウントの行数と同じ行数を返します。questions
テーブルに2つの行があり、テーブルに1つの行がある場合、最初のカウントが2を返し、2番目のカウントも同じことをしているので、これを知っていanswers
ます。
どこが悪いのか教えていただけますか?
ありがとう
私が受け取っているもののサンプル:http://d.pr/i/vcnJ
サンプルデータanswers
:http ://d.pr/i/TMkU
サンプルデータquestions
:http ://d.pr/i/tuwU