首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >子查询和和

子查询和和
EN

Stack Overflow用户
提问于 2015-11-07 07:56:02
回答 3查看 134关注 0票数 0

在需要帮助的情况下,我有一个问题SQL语句,它检索酒店链中最大的“总房间成本”。并使用子查询确定按酒店分组的总房间成本。我可以做一些2查询,但我不断地错误,把它们放在一起。我的两张桌子酒店--配有hotel_no桌和酒店名称。房间--带room_no,hotel_no,room_type,room_price桌

到目前为止我已经

代码语言:javascript
运行
复制
SELECT hotelname, SUM(room_price) as Total
FROM hotel, room
WHERE hotel.hotel_no = room.hotel_no
GROUP BY Hotelname

告诉我酒店的名称和每个酒店的价格

代码语言:javascript
运行
复制
SELECT SUM(room_price) AS Total 
FROM room 

给我总数

每次我试着把它们放在一起,我就会犯一个错误

代码语言:javascript
运行
复制
SELECT hotel_no, SUM(room_price) AS "Total" 
FROM room
WHERE hotel_no= hotel_no
UNION ALL
SELECT hotel_no, hotelname 
FROM hotel
WHERE hotelname = hotelname
group by hotelname;

请帮助Thx

Sry是一个痛苦,但显然它得到了正确的答案,但我错了--在本酒店的from问题中有一个子查询,每个连锁酒店都以不同的成本拥有无数的房间,酒店想知道哪家酒店的客房总成本最高

示例

代码语言:javascript
运行
复制
SELECT MAX(SubFromName.NewColumnName)
FROM (SELECT columnName, SUM(columnName) AS ‘NewColumnName’ 
FROM table 
GROUP BY columnName) SubFromName;

希望这个链接工作,这是模式数据http://www.sqlfiddle.com/#!9/48429

离我最近的在下面,但仍然不对

代码语言:javascript
运行
复制
select hotelname, MAX(room_price), SUM(room_price) AS 'Total Room Cost'
from room,hotel
WHERE hotelname IN (SELECT hotelname FROM hotel 
WHERE hotel.hotel_no = room.hotel_no)
group by hotelname;

如果有人事先得到了我的意思,那么不能参加或联合就像样品一样。我有一个脑死亡周。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-17 01:34:54

只是为了回答我自己,这就是我最终成功的结果。

代码语言:javascript
运行
复制
SELECT  hotelname,
(SELECT SUM(room_price) from room where hotel_no = hotel.hotel_no) as TotalRoomCost
from hotel
GROUP BY hotelname

是这样的

代码语言:javascript
运行
复制
SELECT MAX(Eagle.TotalRoomCost)
FROM (SELECT hotel_no, SUM(room_price) AS 'TotalRoomCost' FROM room GROUP BY hotel_no) Eagle;
票数 0
EN

Stack Overflow用户

发布于 2015-11-07 07:58:51

试试这个:

代码语言:javascript
运行
复制
SELECT hotel_no, SUM(room_price) AS Total, "" as hotelname
FROM room
WHERE hotel_no= hotel_no
UNION ALL
SELECT hotel_no, "" AS Total, hotelname as hotelname
FROM hotel
WHERE hotelname = hotelname
group by hotelname;

UNION ALL应该在两个查询中都有相同数量的列。

票数 0
EN

Stack Overflow用户

发布于 2015-11-07 08:33:27

代码语言:javascript
运行
复制
Select chain_name, sum(price)
From chain a
Inner join 
(Select a.hotel_no, sum(room_price) as price,         b.chainid
From room a
Inner join hotel b 
On a.hotel_no = b.hotel_no
Group by a.hotel_no) b
On a.Id =b.chainid

chain_name组

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33580545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档