gpt4 book ai didi

MySQL : how to change schema between 2 tables

转载 作者:行者123 更新时间:2023-11-29 02:55:42 27 4
gpt4 key购买 nike

你好,我有以下架构:

酒店:

hotel_code int(4) unsigned NOT NULL default '0',
hotel_name char(20) default NULL,
city char(20) default NULL,
address char(20) default NULL,
hotel_rank int(1) unsigned NOT NULL default '0',
phone char(10) default NULL,
number_of_rooms int(4) unsigned NOT NULL default '0',
PRIMARY KEY (hotel_code));

房间:

hotel_code int(4) unsigned NOT NULL default '0',
room_number int(4) unsigned NOT NULL default '0',
type char(20) default NULL,
beds int(4) unsigned NOT NULL default '0',
price int(4) unsigned NOT NULL default '0',
PRIMARY KEY (hotel_code, room_number));

现在我正在努力实现以下目标:

我的查询:显示价格在170-380之间的房间列表 在以下方案中:

hotel_code, hotel_name, city, room_number, price

并确保它按 hotel_rank

排名
price

我知道如何分开做这两件事,但不能把它们结合起来,我什么都试过了……有什么建议吗?

a = SELECT hotel_code, room_number, price FROM rooms WHERE price BETWEEN 170 AND 380 ORDER BY price;
b = SELECT hotel_code, hotel_name, city FROM hotels ORDER BY hotel_rank;

最佳答案

这是一个非常基本的 SQL 查询,与“在 2 个表之间更改模式”无关。

使用 LEFT JOIN(还有其他替代方法),您可以使用具有两个表共享值的列来组合表,然后显示您需要的结果。

SELECT H.hotel_code, H.hotel_name, H.city, R.room_number, R.price
FROM hotels H LEFT JOIN rooms R ON H.hotel_code = R.hotel_code
WHERE R.price BETWEEN 170 AND 380
ORDER BY H.hotel_rank,R.price;

我建议您阅读一些基础教程 ( http://www.w3schools.com/sql/default.asp )

关于MySQL : how to change schema between 2 tables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30848996/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com