これは解決策を見つけることができませんでしたが、これはかなり一般的な質問です。mysqlは値を返さないまま継承します
私は3つのテーブル、 対戦、matchup_optionsを持って、
では作成matchup_votes、対戦は、作成されます「n」はmatchup_optionsが作成され、投票が追加されるまでmatchup_votesが空にされています。
matchup_optionsが2つあっても、クエリは1つの値しか返しません。matchup_votesテーブルには何もありません。 (これらは、theresのまで正しくカウント開始する実際のエントリを、0を返す必要があります)
SELECT matchup.matchupID, matchup_option.player_id, player.name, player.abr, count(matchup_vote.player_id) votes FROM matchup
INNER JOIN matchup_option ON matchup_option.matchupID= matchup.matchupID
INNER JOIN player ON player.player_id = matchup_option.player_id
LEFT JOIN matchup_vote ON matchup_vote.player_id = matchup_option.player_id
GROUP BY matchup_vote.player_id;
とリターン:
matchupID player_id name abr votes
111 249 Name SF 0
期待リターン:
matchupID player_id name abr votes
111 249 Name SF 0
111 331 Name2 JS 0
ありがとうございました!
これは間違いなく有効です。したがって、本質的に、個々のフィールドだけでなく、データセット全体をグループ化したいのですか? – Nihat
@Nihat:データセット全体ではありません。関連性の高いものこれは、通常、集合関数の上にあるselect文のすべてを意味します。実際の生活の中で集団をどのように崩壊させるか考えてみましょう。それは同じだ。あなたがたくさんの車を数えたいのであれば、それらを1つのグループとして数えます。あなたは、それがどんな種類の車であるのか、それから色でさらにグループ化することができます。 – Jacobm001
@Nihat:それが問題を解決した場合は、チェックボタンをクリックして回答を受け入れることを検討してください:) – Jacobm001