在需要帮助的情况下,我有一个问题SQL语句,它检索酒店链中最大的“总房间成本”。并使用子查询确定按酒店分组的总房间成本。我可以做一些2查询,但我不断地错误,把它们放在一起。我的两张桌子酒店--配有hotel_no桌和酒店名称。房间--带room_no,hotel_no,room_type,room_price桌
到目前为止我已经
SELECT hotelname, SUM(room_price) as Total
FROM hotel, room
WHERE hotel.hotel_no = room.hotel_no
GROUP BY Hotelname告诉我酒店的名称和每个酒店的价格
和
SELECT SUM(room_price) AS Total
FROM room 给我总数
每次我试着把它们放在一起,我就会犯一个错误
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问题中有一个子查询,每个连锁酒店都以不同的成本拥有无数的房间,酒店想知道哪家酒店的客房总成本最高
示例
SELECT MAX(SubFromName.NewColumnName)
FROM (SELECT columnName, SUM(columnName) AS ‘NewColumnName’
FROM table
GROUP BY columnName) SubFromName;希望这个链接工作,这是模式数据http://www.sqlfiddle.com/#!9/48429。
离我最近的在下面,但仍然不对
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;如果有人事先得到了我的意思,那么不能参加或联合就像样品一样。我有一个脑死亡周。
发布于 2015-11-17 01:34:54
只是为了回答我自己,这就是我最终成功的结果。
SELECT hotelname,
(SELECT SUM(room_price) from room where hotel_no = hotel.hotel_no) as TotalRoomCost
from hotel
GROUP BY hotelname是这样的
SELECT MAX(Eagle.TotalRoomCost)
FROM (SELECT hotel_no, SUM(room_price) AS 'TotalRoomCost' FROM room GROUP BY hotel_no) Eagle;发布于 2015-11-07 07:58:51
试试这个:
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应该在两个查询中都有相同数量的列。
发布于 2015-11-07 08:33:27
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.chainidchain_name组
https://stackoverflow.com/questions/33580545
复制相似问题