2016-08-05 3 views
0

Я пытаюсь сделать вверх запрос для таблицы отеля, roomtype, roomprice, Я пытаюсь получить сумму roomprice как «общие одноместный» где roomtype = одиночная Сгруппированные по отелю Таким образом, я в конечном итоге оказываюсь в отеле и «Всего одноместных номеров»запросов с суммой, где условиями и группой по

Я пробовал разные способы, но я не могу заставить работать. Да Я новичок в SQL лол

Благодарности

+5

Покажите нам текущую попытку запроса! – jarlh

+0

SELECT hotelNo, roomPrice, SUM (roomPrice) AS "Общая стоимость номера", WHERE roomType = "Single", Из комнаты, GROUP BY hotelNo); – Wombat

ответ

0
select hotelno,sum(roomprice) as `Total Single Rooms` from room 
where roomtype = 'single' 
group by hotelno 
having sum(roomprice) > 100 
+0

имя таблицы «комната» – Wombat

+0

Я благодарю вас :) Я просто изменил имена там, где это необходимо. Мне так легко, когда вы смотрите на него, и я собирался повсюду. – Wombat

+0

Нет, он делает то, что он должен делать, и теперь мне нужно добавить туда еще одну часть, которая показывает всего более 100, так что ей нужна другая линия или после общих номеров? – Wombat

1

Вы должны принять MrVimes решение, если оно отвечает вашим требованиям. Если вы хотите включить цепь общей сложности в гостинице можно использовать с накопительным пакетом в группе, например: -

/*drop table t; 
create table t (hotel varchar(3),roomtype varchar(1),price decimal(10,2)); 
truncate table t; 
insert into t values 
('abc','s',10.00), 
('abc','s',10.00), 
('abc','s',30.00), 
('abc','d',10.00), 
('def','s',10.00), 
('def','s',10.00), 
('abc','d',10.00), 
('abc','d',10.00), 
('abc','d',10.00); 
*/ 

select case 
      when s.hotel is not null then s.hotel 
      else 'Total' 
      end as hotel, 
      s.totalsinglerooms 
from 
(
select hotel, sum(price) as totalsinglerooms 
from  t 
where  roomtype = 's' 
group by hotel with rollup 
) s 

результат

+-------+------------------+ 
| hotel | totalsinglerooms | 
+-------+------------------+ 
| abc |   50.00 | 
| def |   20.00 | 
| Total |   70.00 | 
+-------+------------------+ 
+1

Спасибо всем вам :) MrVimes был на самом деле с ответом: 0 спасибо – Wombat

+0

Upvote для показа мне «rollup», который я мог бы найти полезным в своих собственных задачах запроса :) Я не знал об этом. – MrVimes

Смежные вопросы