我有一些表使用連接表具有'屬於許多'類型的關係。主表是國家,方案和清單。其基本結構是:三個表的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
我一直在做給定值的國家ID(在這種情況下5)當以下列出一個國家的方案:
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'
我需要做什麼只有當特定國家的計劃實際上也有該國的任何清單時,纔是該國的計劃。因此,它只能返回程序在指定國家和在該程序中以及該國家的列表中的情況。
如果指定國家的程序沒有列表,那麼我不希望它返回。我一直在嘗試各種組合,但似乎無法得到這個工作。有沒有人看到如何做到這一點?
我想我需要加入物品清單表,但我沒有試過任何東西。
使用內部連接,而不是外部連接。 –