在mysql中显示空白表
我有四张桌子 在使用联接查询时,当它在另一个表中找到值时,它会正确地显示值。但若记录不可用,则整个表的记录不会显示。意思是空白表格 我的问题是:如果该ID的记录不可用,那么它应该返回空值和其他至少应该显示的细节 下面的查询工作正常,因为所有详细信息都存在在mysql中显示空白表,mysql,Mysql,我有四张桌子 在使用联接查询时,当它在另一个表中找到值时,它会正确地显示值。但若记录不可用,则整个表的记录不会显示。意思是空白表格 我的问题是:如果该ID的记录不可用,那么它应该返回空值和其他至少应该显示的细节 下面的查询工作正常,因为所有详细信息都存在 select bs.strBusinessName , bs.strBusinessDescription , bs.strCreatedOn , am.strAmenitiesName , con.st
select bs.strBusinessName
, bs.strBusinessDescription
, bs.strCreatedOn
, am.strAmenitiesName
, con.strContactOne
from tblbusinessdetails bs
, tblamenities am
, tbloutletamenities oam
, tbloutletcontactdetails con
where bs.nBusinessDetailsId = oam.nBusinessDetailsId
AND oam.nAmenitiesId = am.nAmenitiesId
AND bs.nBusinessDetailsId = con.nBusinessDetailsId
AND bs.nVendorId = 1
AND bs.nBusinessDetailsId = 102;
但是这个查询显示空白表
select bs.strBusinessName
,bs.strBusinessDescription,bs.strCreatedOn,
am.strAmenitiesName,
con.strContactOne,
tim.strShiftOneFromTime,tim.strShiftOneToTime
from tblbusinessdetails bs,tblamenities am,tbloutletamenities oam,tbloutletcontactdetails con,tbloutlettimingsdetails tim
where bs.nBusinessDetailsId=oam.nBusinessDetailsId AND oam.nAmenitiesId=am.nAmenitiesId
AND bs.nBusinessDetailsId=con.nBusinessDetailsId
AND bs.nBusinessDetailsId=tim.nBusinessDetailsId
AND bs.nVendorId=1 AND bs.nBusinessDetailsId=102;
这是使用隐式联接的一个缺点。您应该使用显式联接或左联接(视情况而定)重写它,在没有行时使用
左联接
返回空值。这是使用隐式联接的一个缺点。您应该使用显式联接或左联接(视情况而定)重写它,当没有行时,使用LEFT JOIN
返回空值。