質問: user.groupe_id GROUP BY groupe_id HAVING count(*)>=0; こういったSELECT文で抽出できたのですが、ユーザーがまだいないグループのみをSELECTするにはどうすればよいのかが分からなくて困っております。ユーザー、グループのテーブルの構成はそれぞれ以下の用になっております。 ユーザーがまだいないグループもあります。 *************************** user. row *************************** id: 1 ugenjina: testman groupe_id: 777 *************************** groupe. row *************************** groupe_id:777 groupe_name:test area:test 具体的に教えていただきたいのは、ユーザーがまだいないグループも含めてグループごとに何人のユーザーがいるのか、を抽出するということです。 現状ユーザーがいないグループは出力されません。 グループのテーブルにユーザーの数を記録するカラムを作成して、動的に更新していくのがよろしいのでしょうか、sql文を工夫すればよいのでしょうか、配列として取得して、二つのデータをグループIDの重複がないように結合すればよいのでしょうか? 説明不足で大変申し訳ありませんがお答えいただけると幸いです。 宜しくお願いいたします。
回答: >ユーザーがまだいないグループも含めてグループごとに何人のユーザーがいるのか 例えばINNER JOINからLEFT JOINに変更して、HAVING句による絞り込みを消すとかですかね。意図と合っていますか? ``` SELECT (略) FROM groupe LEFT JOIN user ON groupe.groupe_id = user.groupe_id GROUP BY groupe_id ```