连接 MySQL 表

连接 MySQL 表

我的数据库中有 2 个表:帖子、房间

Posts 表包括 ID 和 Title 列,并且包含许多房间和酒店的标题和 ID。

房间表中有 3 列:room_id、hotel_id 和 price,其中 room_id 和 hotel_id 来自 Posts 表。(ID 列)

我想运行一个查询,以便在一个表中看到酒店名称、房间名称、room_id(ID)和价格。

我找不到正确的连接命令。我应该使用什么代码?谢谢。

表格

答案1

不确定“酒店标题”栏来自哪里,但我会尝试以下内容:

SELECT `posts`.`title`, `room`.`price`, `room`.`room_id`
FROM `posts` JOIN `hosts`
WHERE `posts`.`id` = `room`.`id`;

JOIN子句将连接两个表,然后您必须告诉查询每个表上哪些列匹配。结果应该是您想要的。

您还可以创建一个VIEW,这样您就不需要每次都运行如此复杂的查询:

CREATE VIEW myRooms AS
SELECT `posts`.`title`, `room`.`price`, `room`.`room_id`
FROM `posts` JOIN `hosts`
WHERE `posts`.`id` = `room`.`id`;

然后你只需这样做:

SELECT * FROM myRooms;

相关内容