mysql - 一直提示错误105

标签 mysql sql

我正在尝试为数据库的 SQL 服务器编写 q 查询,在该数据库中检索墨尔本所有拥有特大号床的酒店的 HotelID 和名称,但字段列表中的 HotelID 不明确,我不知道如何解决这个问题?这是我的查询

SELECT      City, BedTypeDesc, HotelName, HotelID 
FROM     BedTypes,     Hotels,     Cities,     Rooms 
WHERE     Hotels.CityID = Cities.CityID         AND Hotels.HotelID = Rooms.HotelID          AND Rooms.BedTypeID = BedTypes.BedTypeID         AND BedTypeDesc = 'King Size'         AND City = 'Melbourne' 

最佳答案

您应该使用表别名和正确的 join 语法:

SELECT c.City, bt.BedTypeDesc, h.HotelName, h.HotelID 
FROM Hotels h JOIN
     Cities c
     ON h.CityID = c.CityID JOIN
     Rooms r
     ON h.HotelID = r.HotelID JOIN
     BedTypes bt
     ON r.BedTypeID = bt.BedTypeID         
WHERE bt.TypeDesc = 'King Size' AND c.City = 'Melbourne' ;

关于mysql - 一直提示错误105,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34689651/

相关文章:

php - 使用 PHP 发布多个 HTML 表单字段

python - 无法通过 MySQLdb 在 Python 脚本中执行 INSERT 语句

sql - 可以从 CTE 返回记录和计数吗?

java - 插入 "Duplicate entry ... for key PRIMARY"和 "Krakow"时为 "Kraków"

javascript - 使用 node.js 和 sequelize 将表单数据插入 mysql 数据库表

php - 使用一个 SQL 查询删除 postmeta 和 posts

php - 我可以在执行 UPDATE 时从 mySQL 数据库检索变量吗?

CONCAT 函数中的 MYSQL SELECT 语句

mysql - 将 MySql View 映射到 JPA 实体,使用哪个唯一 ID?

mysql - 如何为 MySQL 编写一条 SQL 语句来检查值,如果为真则执行 INSERT?