何時間も探していましたが、解決策が見つかりません。少し複雑なので、非常に簡単な例に分解します
2 つのテーブルがあります。人と車
人:
name_id firstname
1 john
2 tony
3 peter
4 henry
車:
name_id car_name
1 vw gulf
1 ferrari
2 mustang
4 toyota
ご覧のとおり、それらは name_id によってリンクされており、ジョンは 2 台、トニーは 1 台、ピーターは 0 台、ヘンリーは 1 台の車を所有しています。
誰が(1台以上)車を持っているかについて、単一のmysql検索を実行したいだけです。したがって、答えはジョン、トニー、ヘンリーでなければなりません。
people テーブルはマスターテーブルでLEFT JOIN
、車を追加するために使用しています。私の問題は重複から発生します。結合しているテーブルには、マスターの1つのIDに対して2つのエントリがあるという事実。
私は遊んでいDISTINCT
ますGROUP BY
が、うまくいかないようです。
どんな助けでも大歓迎です。
編集:クエリを追加:
$query = "
SELECT profiles.*, invoices.paid, COUNT(*) as num
FROM profiles
LEFT JOIN invoices ON (profiles.id=invoices.profileid)
WHERE (profiles.id LIKE '%$id%')
GROUP BY invoices.profileid
";