加入 SQL 中的许多表
Joining many tables in SQL
我正在努力解决这个 SQL 问题:
连锁酒店的数据库包含下表:
Hotel(HotelNo, HotelName, City)
Room(RoomNo, HotelNo, Type, Price)
Booking(HotelNo, GuestNo, DateFrom, DateTo, RoomNo)
Guest(GuestNo, GuestName, GuestAddress)
我想列出格罗夫纳酒店所有房间的详细信息,包括入住客人的姓名,如果房间有人的话。
我可以在 SQL 中连接 2 个表,但我不知道如何连接 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;
我认为这是完全错误的,但无论如何,希望有人知道我应该做什么。提前致谢
正确的语法是:
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"
试试这个:
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';
你也可以试试这个..它会帮助你
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"
我正在努力解决这个 SQL 问题: 连锁酒店的数据库包含下表:
Hotel(HotelNo, HotelName, City)
Room(RoomNo, HotelNo, Type, Price)
Booking(HotelNo, GuestNo, DateFrom, DateTo, RoomNo)
Guest(GuestNo, GuestName, GuestAddress)
我想列出格罗夫纳酒店所有房间的详细信息,包括入住客人的姓名,如果房间有人的话。
我可以在 SQL 中连接 2 个表,但我不知道如何连接 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;
我认为这是完全错误的,但无论如何,希望有人知道我应该做什么。提前致谢
正确的语法是:
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"
试试这个:
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';
你也可以试试这个..它会帮助你
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"