Объединение многих таблиц в SQL

Я пытаюсь понять этот вопрос SQL: база данных для сети отелей содержит следующие таблицы:

    Hotel(HotelNo, HotelName, City)   
    Room(RoomNo, HotelNo, Type, Price)  
    Booking(HotelNo, GuestNo, DateFrom, DateTo, RoomNo)     
    Guest(GuestNo,  GuestName, GuestAddress)

Я хочу перечислить детали всех номеров в отеле Grosvenor, включая имя гостя, проживающего в номере, если номер занят.

Я согласен с объединением 2 таблиц в SQL, но я не знаю, как соединить 4 таблицы.

Моя попытка, вероятно, будет:

SELECT Room.*, Guest.GuestName 
    FROM Room
    INNER JOIN Hotel, Booking, Guest
    ON Hotel.HotelName = "Grosvenor Hotel", Hotel.HotelNo = Room.HotelNo, Booking.GuestNo = Guest.GuestNo;

Я думаю, что это совершенно неправильно, но в любом случае, надеюсь, кто-то знает, что я должен делать. заранее спасибо


person DMoney    schedule 05.05.2015    source источник
comment
technet.microsoft.com/en-us/library /ms191472(v=sql.105).aspx   -  person Felix Pamittan    schedule 05.05.2015
comment
Вы хотели бы иметь решение для sql-сервера или mysql. Это разные мысли.   -  person Jens    schedule 05.05.2015


Ответы (3)


Правильный синтаксис:

SELECT Room.*, Guest.GuestName 
FROM Room
INNER JOIN Hotel on Hotel.HotelNo = Room.HotelNo, 
inner join Booking on Booking.hotelno= Hotel.HotelNo
inner join Guest on Booking.GuestNo = = Guest.GuestNo
where Hotel.HotelName = "Grosvenor Hotel"
person Jens    schedule 05.05.2015

Попробуй это :

  select g.roomno, g.guestname 

  from hotel h join room r on h.hotelno = r.hotelno
   join booking b on b.hotelno=r.hotelno 
   join guest g on g.guestno=b.guestno

  where h.hotelname='Grosvenor Hotel';
person Sagar Joon    schedule 05.05.2015

вы также можете попробовать это .. Это поможет вам

SELECT Room.*, Guest.GuestName FROM Room
INNER JOIN Hotel on Hotel.HotelNo = Room.HotelNo, 
join Booking on Booking.HotelNo= Hotel.HotelNo
join Guest on Booking.GuestNo = Guest.GuestNo
where Hotel.HotelName = "Grosvenor Hotel"
person Chetan Bodke    schedule 05.05.2015