0

個々のホテルの特定の日に予約されていない部屋のすべての損失収入の合計を取得しようとしています。

  • ホテル (hotelNo,hotelName,hotelAddress)
  • 部屋 (hotelNo,roomNo,type,price)
  • ゲスト(ゲスト番号、ゲスト名、ゲストアドレス)
  • 予約 (hotelNo,guestNo,dateFrom,dateTo,roomNo)

これが私がこれまでに得たコマンドです。ばかげた間違いのように感じて、何か簡単なものを見逃していますが、指を置くことはできません.

SELECT hotelNo, roomNo, (SUM)price AS "Lost Income"
FROM room r
WHERE roomNo NOT IN
(SELECT roomNo FROM booking b
WHERE to_date('20080706', 'yyyymmdd')
BETWEEN dateFrom AND dateTo
AND r.hotelno = b.hotelno)
ORDER BY hotelNo
GROUP BY hotelNo
4

1 に答える 1

1

明らかなことは、 の括弧が間違っていることですSUM。また、ORDER BY後でGROUP BYある必要があり、別の方法で日付を変換する必要があります

SELECT hotelNo, SUM(price) AS "Lost Income"
FROM room r
WHERE roomNo NOT IN
(SELECT roomNo FROM booking b
WHERE to_date('20080706', 'yyyymmdd')
BETWEEN dateFrom AND dateTo
AND r.hotelno = b.hotelno)
GROUP BY hotelNo
ORDER BY hotelNo
于 2013-11-12T23:57:10.610 に答える