繁体   English   中英

内部联接查询不返回任何数据

[英]Inner-Join query is returning no data

尝试运行一个查询,该查询将生成一个报告列表,所有报告都存储有关于它们的信息。 当我运行不带INNER JOIN部分的查询时,它工作正常,并且分别显示了报告列表和其信息。 当我尝试使用插入的INNER JOIN查询运行它时,它不返回任何数据。 两个表中肯定都有数据,不知道可能是什么问题。 谢谢。

这是在添加INNER JOIN方法之前可以工作并返回数据的查询:

SELECT reports_tbl.photoname
    , reports_tbl.location
    , reports_tbl.details
    , reports_tbl.image
    , reports_tbl.spotteddate
    , reports_tbl.uploaddate
    , typesofphoto_tbl.typename 
FROM reports_tbl 

这是不返回包含INNER JOIN的数据的查询:

SELECT reports_tbl.photoname
     , reports_tbl.location
     , reports_tbl.details
     , reports_tbl.image
     , reports_tbl.spotteddate
     , reports_tbl.uploaddate
     , typesofphoto_tbl.typename 
FROM reports_tbl 
INNER JOIN typesofphoto_tbl 
ON reports_tbl.typeofphotoID = typesofphoto_tbl.ID

INNER JOIN:当两个表中至少有一个匹配项时,返回所有行。

左联接:从左表返回所有行,右表返回匹配的行右联接:从右表返回所有行,而左表匹配的行FULL JOIN:当存在匹配项时返回所有行一张桌子

因此,当您使用Inner Join ,表reports_tbltypesofphoto_tbl都没有匹配,这就是为什么不获取数据的原因。

尝试LEFT-JOIN

SELECT reports_tbl.photoname
     , reports_tbl.location
     , reports_tbl.details
     , reports_tbl.image
     , reports_tbl.spotteddate
     , reports_tbl.uploaddate
     , typesofphoto_tbl.typename 
FROM reports_tbl 
LEFT JOIN typesofphoto_tbl 
ON reports_tbl.typeofphotoID = typesofphoto_tbl.ID

如果右侧表typesofphoto_tbl中没有匹配的行,则将从左侧表reports_tbl获取记录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM