我想做的是:
SELECT
t1.id t1_id, t1.title t1_title, t1.subtitle t1_subtitle, t1.content t1_content,
t2.title t2_title, t2.newfilename t2_newfilename,
t3.picture t3_picture
FROM webcms_cms_content t1
INNER JOIN webcms_cms_downloads t2
ON t1.id = t2.content_id
INNER JOIN webcms_mod_galleries_pictures t3
ON t1.gallery_id = t3.gallery_id
WHERE t1.structure_id =3
AND t1.status=1
AND t1.flag=1
ORDER BY t1.newsdatum DESC, t3.rang ASC
现在的问题是,有时一个联接不会返回任何内容,而另一个联接会返回任何内容。因此,如果一个连接不返回任何内容,我也希望始终获取数据。
更详细:
INNER JOIN webcms_cms_downloads t2
ON t1.id = t2.content_id
可能是没有下载,但是下次加入
INNER JOIN webcms_mod_galleries_pictures t3
ON t1.gallery_id = t3.gallery_id
会返回一些东西,所以我想得到那部分。现在,如果第一个连接为空,它会“刹车”并且不会返回任何内容。
这可以在一次查询中实现吗?我该怎么做?
感谢所有建议和帮助!
最佳答案
与其他答案一样,这应该会提示您要使用什么连接。
关于MySQL SELECT JOIN ON 3 个表 "continue"查询,如果 1 个连接不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19381116/