Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多表sql联接中的Where子句_Sql - Fatal编程技术网

多表sql联接中的Where子句

多表sql联接中的Where子句,sql,Sql,桌子 上面编写的sql join语句中的where子句似乎无效,因为TypeID的某些值返回不完整的数据,而其他值则根本不返回行。我该如何着手修复此问题?y重复一个条件 SELECT LocalBussiness.BusinessName, Address.Address, Address.Postcode, Area.AreaName, Area.Region, LocalBusiness.OfficialRating, LocalBusiness.min_pr

桌子


上面编写的sql join语句中的where子句似乎无效,因为TypeID的某些值返回不完整的数据,而其他值则根本不返回行。我该如何着手修复此问题?

y重复一个条件

SELECT  
    LocalBussiness.BusinessName, Address.Address, Address.Postcode, 
    Area.AreaName, Area.Region, LocalBusiness.OfficialRating, 
    LocalBusiness.min_price, LocalBusiness_max_price, 
    Phone.description, Phone.PhoneNo, 
    Email.Description, Email.email_address, 
    LocalBusiness.Web_address
FROM
    LocalBusiness 
JOIN 
    Address ON LocalBusiness.BusinessID = Address.BusinessID
JOIN 
    Area ON Address.AreaID = Area.AreaID 
         AND LocalBusiness.BusinessID = Address.BusinessID
JOIN 
    Phone ON Phone.BusinessID = LocalBusiness.BusinessID
JOIN 
    Email ON Email.BusinessID = LocalBusiness.BusinessID
WHERE 
    TypeID = '1'
ORDER BY 
    LocalBusiness.BusinessName ASC;
尽量避免这种重复

AND LocalBusiness.BusinessID=Address.BusinessID in JOIN Area

否则,请检查数据的一致性。

y重复一个条件

SELECT  
    LocalBussiness.BusinessName, Address.Address, Address.Postcode, 
    Area.AreaName, Area.Region, LocalBusiness.OfficialRating, 
    LocalBusiness.min_price, LocalBusiness_max_price, 
    Phone.description, Phone.PhoneNo, 
    Email.Description, Email.email_address, 
    LocalBusiness.Web_address
FROM
    LocalBusiness 
JOIN 
    Address ON LocalBusiness.BusinessID = Address.BusinessID
JOIN 
    Area ON Address.AreaID = Area.AreaID 
         AND LocalBusiness.BusinessID = Address.BusinessID
JOIN 
    Phone ON Phone.BusinessID = LocalBusiness.BusinessID
JOIN 
    Email ON Email.BusinessID = LocalBusiness.BusinessID
WHERE 
    TypeID = '1'
ORDER BY 
    LocalBusiness.BusinessName ASC;
尽量避免这种重复

AND LocalBusiness.BusinessID=Address.BusinessID in JOIN Area

否则,请检查数据的一致性。

请添加示例数据和预期输出。我猜并非所有企业都有地址、电话和电子邮件?如果是这样的话,您可能希望进行外部联接。这是用于哪个RDBMS的?请添加一个标记,以指定您使用的是
mysql
postgresql
sql server
oracle
还是
db2
——或者完全是其他什么。请添加示例数据和预期输出。我猜不是所有的企业都有地址、电话和电子邮件?如果是这样的话,您可能希望进行外部联接。这是用于哪个RDBMS的?请添加一个标记,以指定您使用的是
mysql
postgresql
sqlserver
oracle
还是
db2
——或者其他完全不同的东西。