gpt4 book ai didi

sql - 基本 SQL SUM 和 JOIN

转载 作者:行者123 更新时间:2023-12-05 00:53:13 29 4
gpt4 key购买 nike

我对 SQL 及其关联有点迷茫。
我有两张 table “酒店” “房间” .

在我的 房间表我有一个名为 的字段"hotel_id" , “容量” “书”
在我的 酒店表我有一个字段 “姓名” .

我的 “书”字段是一个 bool 值,所以如果它是 “0” 表示它是免费的,如果是 “1”它被预订了。

我的主要目标是根据空闲房间显示酒店名称和空闲容量,如下所示:

姓名

COSTA DEL SOL

容量

35

(它是一个有两列的表格)

所以我写了这个开始:

SELECT * FROM room WHERE book = "0";

这给了我所有的免费房间。

然后我写了这个:
SELECT hotel_id, SUM(capacity) FROM room WHERE book = "0" GROUP BY hotel_id;

这给了我所有酒店的所有容量以及他们的 ID

然后我写道:
SELECT name, hotel_id FROM hotel INNER JOIN room ON hotel.id = room.hotel_id GROUP BY name;

这给了我酒店名称和他们的身份证。

所以结合 的请求我有点迷茫总和 加入 .我不知道如何让它工作。

我试过这个,但没有解决:
SELECT name, hotel_id, sum(capacity) AS hotelcapacity FROM hotel
INNER JOIN room ON hotel.id = room.hotel_id GROUP BY hotelcapacity;

如果有人可以帮助我,将不胜感激。谢谢你。

最佳答案

您需要按酒店名称分组,而不是按容量分组。您还可以从查询中排除酒店 ID。

就像是:

SELECT name, SUM(capacity) AS hotelcapacity 
FROM hotel
INNER JOIN room ON hotel.id = room.hotel_id
GROUP BY name;

如果您在查询中需要酒店 ID,那么您可以通过以下方式将其添加到组中:
SELECT name, hotel_id, SUM(capacity) AS hotelcapacity 
FROM hotel
INNER JOIN room ON hotel.id = room.hotel_id
GROUP BY name, hotel_id;

关于sql - 基本 SQL SUM 和 JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41535483/

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