私のデータベースには、フリートと person_onboard_fleets という 2 つのテーブルがあります。私はすべてのフリートのリストを取得しようとしています (これは機能します)。そして、各フリートに何人の人員が乗っているかを数えようとしています (これは機能しません)。ただし、人員が乗船していない場合、結果は表示されません。
SELECT f.*, count(pof.ID) AS onboard
FROM fleets f, personnel_onboard_fleets pof
WHERE f.fleet_ID = pof.fleet_ID ORDER BY f.status
私は 2 つの結果を期待しています。ただし、結果は1つしか得られません。私は以下を使用しようとしました
SELECT f.*, IFNULL(COUNT(pof.ID), 0) AS onboard
FROM fleets f, personnel_onboard_fleets pof
WHERE f.fleet_ID = pof.fleet_ID ORDER BY f.status
クエリの何が問題なのか本当にわかりません。0人の乗船者がいるフリートを表示するために追加する必要があるものは他にありますか?
カウント前の元のクエリでは、すべてのフリートが正常に表示されているため、カウントに関係があることがわかります。
これは私を夢中にさせています!どんな助けでも大歓迎です!!