我有一個SQL查詢,當前顯示錶HOTEL
中的所有人預訂了$ 260到$ 350之間的酒店。我使用的是ORACLE無法正確GROUP BY(SQL)
SELECT guest.guest_name "GUEST NAME",
Count(guest.guest_no),
guest.guest_no "GUEST NUMBER",
room.r_price "ROOM PRICE"
FROM room,
guest,
booking
WHERE r_price >= 260
AND r_price <= 350
AND guest.guest_no = booking.guest_no
GROUP BY guest.guest_no,
guest.guest_name,
room.room_price
ORDER BY guest.guest_name;
我以爲我可以通過組剛剛GUEST.GUEST_NAME(所以它把所有的下一個名字計的,而不是對房客的姓名翻倍)。
編輯:查詢一下目前的結果是這樣的:
GUEST NAME COUNT GUEST_NO R_PRICE
Jenny Freeman 2 G003 260
Jenny Freeman 2 G003 295
Jenny Freeman 2 G003 310
Martin Ferguson 3 G006 260
Martin Ferguson 3 G006 295
Martin Ferguson 3 G006 310
Paul Happy 3 G002 260
Paul Happy 3 G002 295
Paul Happy 3 G002 310
Steve Kirkwood 3 G005 260
Steve Kirkwood 3 G005 295
Steve Kirkwood 3 G005 310
Tina Duncan 2 G001 260
Tina Duncan 2 G001 295
Tina Duncan 2 G001 310
Vanessa Horton 1 G007 260
Vanessa Horton 1 G007 295
Vanessa Horton 1 G007 310
但我希望是這樣的:
GUEST NAME COUNT GUEST_NO R_PRICE
Jenny Freeman 6 G003 260
Martin Ferguson 9 G006 310
Paul Happy 9 G002 310
Steve Kirkwood 9 G005 260
Tina Duncan 6 G001 310
Vanessa Horton 3 G007 260
你似乎不在你的sql中預訂和房間之間有一個鏈接。 – mcalex
你想要什麼輸出?請告訴我們您想要查詢的內容!然後我們可以告訴你,如果你的查詢應該這樣做,是否非常接近你想做的事,或者你是否完全處於錯誤的軌道上。 –
你究竟在做什麼?嘗試將guest_no和room_price從選定字段中取出,guest_no取出。 – Andrew