MySQL选择“在3个表上连接”;“继续”;如果1 join不返回任何内容,也要进行查询
我想做的是:MySQL选择“在3个表上连接”;“继续”;如果1 join不返回任何内容,也要进行查询,mysql,Mysql,我想做的是: 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
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
现在的问题是,有时其中一个连接不会返回任何东西,但另一个连接会返回。因此,如果一个join不返回任何内容,我也希望始终获取数据
更详细地说:
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
我会返回一些东西,所以我想得到那个部分。现在,如果第一个连接为空,它“刹车”并且不返回任何内容
仅在一个查询中就可以做到这一点吗?我该怎么做
谢谢你的建议和帮助 使用
左连接
s而不是内部连接
s来实现这一点。作为其他答案,这应该会提示您使用什么连接
将
内部连接更改为左连接