好的,所以我发现了仅使用两个表就可以做到这一点的问题,大量的问题解释了如果 ID 不存在于其他表中如何执行此操作,但不是此查询的解决方案。
基本上,我有一张葡萄酒年份表。
然后,我有另外四个表,其中包含与特定年份相关的不同类型的内容(即视频、博客等)
我基本上需要能够提取正在使用的年份列表,即在四个内容表中的一个或多个中使用年份 ID 的位置。
我能得到的最接近的是:
SELECT DISTINCT vintage_id FROM `pr_video_vintage`
INNER JOIN pr_video ON pr_video.fk_vintage_id = pr_video_vintage.vintage_id
INNER JOIN pr_reports ON pr_reports.fk_vintage_id = pr_video_vintage.vintage_id
INNER JOIN pr_reports_notes ON pr_reports_notes.fk_vintage_id = pr_video_vintage.vintage_id
INNER JOIN pr_blog_entries ON pr_blog_entries.fk_vintage_id = pr_video_vintage.vintage_id
ORDER BY `pr_video_vintage`.`vintage_id` ASC
但这(我猜可以理解)只返回所有表中存在的 ID。
我需要的是某种形式的 'OR' JOIN,但找不到有关如何执行此操作的任何信息。
尖端?:)