【发布时间】:2014-07-12 03:17:15
【问题描述】:
有没有人可以解释为什么我的查询不起作用?
SELECT country.Country、city.City、location.Adress、museuminfo.Phone、museuminfo.Mail、museuminfo.Homepage、museum.MuseumName、museum.Description、museum.Collections、photo.PhotoRef 来自国家 INNER JOIN城市 ON country.CountryCode=city.CountryCode 内部连接位置 ON city.CityId = location.CityId INNER JOIN 博物馆信息 ON location.LocationId = 博物馆信息.LocationId INNER JOIN 博物馆 ON 博物馆信息.MuseumInfoId = 博物馆.MuseumInfoId 内连接照片 ON 博物馆信息.MuseumInfoId = 照片.MuseumInfoId 在哪里 (博物馆名称 LIKE '%classic%') 或(描述 LIKE '%classic%') 或(像“%classic%”这样的集合) AND 博物馆.LanguageCode = 'EN'我有一个可以正常工作的缩短版本,但您一次只能搜索一个表:
选择 * 从博物馆 WHERE (MuseumName LIKE '%classic%') 或(描述 LIKE '%classic%') 或(像“%classic%”这样的集合) AND 博物馆.LanguageCode = 'EN'请帮帮我:-(
【问题讨论】:
-
查询应该做什么?
-
INNER JOIN为两边的匹配行生成行。如果任何连接条件都没有匹配的行,那么您将不会得到任何结果。尝试使用OUTER JOIN或LEFT JOIN。 -
当你有一个不工作的缩短版本时回来,你可以解释你正在尝试做什么以及出了什么问题。
-
也许你需要括号。
(...OR ...OR...) AND ... -
它确实对用户其他连接而不是内部连接起作用。谢谢!
标签: mysql inner-join sql-like