Пожалуйста, попробуйте ниже один раз:
SELECT RO_BOOK.HOTEL_ID,
RO_BOOK.ROOM_ID,
RO_BOOK.ROOM_NUMBER,
RO_BOOK.TOTAL_BOOKINGS,
MAX(RO_BOOK.TOTAL_EARNINGS) PROFITS
FROM(
SELECT ROOMS.HOTEL_ID
ROOMS.ROOM_ID,
ROOMS.ROOM_NUMBER,
COUNT(ROOMS.ROOM_ID) TOTAL_BOOKINGS
SUM(ROOMS.ROOM_PRICE) TOTAL_EARNINGS
FROM
ROOMS, BOOKINGS
WHERE
BOOKINGS.ROOM_ID = ROOMS.ROOM_ID
GROUP BY ROOMS.ROOM_ID) RO_BOOK
GROUP BY RO_BOOK.HOTEL_ID ;
Это похоже на код @ tcadidot0, но столбец MAX (a.tc) AS "Count" возвращает максимальное количество независимо от ROOM_ID.Например, если в отеле 1 есть 2 номера, скажем, R100 и R200.Стоимость R100 будет 1000, а R200 будет 100. Количество забронированных R100 не будет 1, а R200 будет 3. Таким образом, запрос вернет: HOTEL 1, R100, COUNT 2, PROFIT 1000.
Пожалуйста, исправьте меняесли я неправильно понял вопрос.