在mysql中显示空白表

在mysql中显示空白表,mysql,Mysql,我有四张桌子 在使用联接查询时,当它在另一个表中找到值时,它会正确地显示值。但若记录不可用,则整个表的记录不会显示。意思是空白表格 我的问题是:如果该ID的记录不可用,那么它应该返回空值和其他至少应该显示的细节 下面的查询工作正常,因为所有详细信息都存在 select bs.strBusinessName , bs.strBusinessDescription , bs.strCreatedOn , am.strAmenitiesName , con.st

我有四张桌子

在使用联接查询时,当它在另一个表中找到值时,它会正确地显示值。但若记录不可用,则整个表的记录不会显示。意思是空白表格

我的问题是:如果该ID的记录不可用,那么它应该返回空值和其他至少应该显示的细节

下面的查询工作正常,因为所有详细信息都存在

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
返回空值。