私は、結合テーブルを使用して '持っていて、多くの種類の型の関係になっているテーブルがあります。メインテーブルは国、プログラム、リストです。基本的な構造は次のとおりです。3つのテーブルのMySQL結合
countries
-id
-name
programs
-id
-name
listings
-id
-title
countries_programs
-country_id
-program_id
listings_programs
-listing_id
-program_id
listings_countries
-listing_id
-country_id
は、私は(この場合は5)国のid値が与えられたときに国のためのプログラムを一覧表示するには、次のやっている:私がする必要がどのような
SELECT programs.*
FROM programs
LEFT JOIN countries_programs ON programs_id = countries_programs.program_id
LEFT JOIN countries ON countries.id = countries_programs.country_id
WHERE countries_id = '5'
特定の国のプログラムが実際にその国にもリストされている場合にのみ、その国のためのプログラムを返します。したがって、プログラムが指定された国にある場合のみを返し、そのプログラムにあるリスティングとその国にもリスティングがあるはずです。
指定された国のプログラムにリスティングがない場合、返されることはありません。私は様々な組み合わせを試みてきましたが、これを動作させるようには見えません。誰にこれがどうやって行えるのか見ていますか?
私はリスティングテーブルに参加する必要があると思いますが、私が試したことはありません。
外部結合ではなく内部結合を使用します。 –