У меня есть 4 таблицы в моей базе данныхSQL - Регистрация и подзапросов
бронирований
Booking_Id : int, Primary Key
Hotel_No : int, foreign key
Guest_No : int, foreign key
Date_From : date
Date_To : date
Room_No : int, foreign key
Гость
Guest_No : int, primary key
Name : varchar(30)
Address : varchar(50)
Отель
Hotel_No : int, primary key,
Name : varchar(30)
Address : varchar(50)
номер
Room_No : int, primary key
Hotel_No : int primary key, foreign key
Types : char(1)
Price : float
Вопрос:
Я хочу, чтобы отобразить всю информацию из таблицы номеров на данном отеле. Если гость сегодня находится в одной из комнат, я хочу отобразить его имя, иначе null.
Я пробовал несколько запросов, но никто из них не решает мою проблему.
Заранее спасибо
редактировать:
Я пытался что-то похожее на
select Room.*,Guest.Name
from Room
join Booking on Room.Room_No = Booking.Room_No
join Guest on Guest.Guest_No = Booking.Guest_No
where Booking.Hotel_No = 6 AND cast(Date_From AS DATE) < = cast(CURRENT_TIMESTAMP AS DATE)
Когда я использую этот запрос: Select * From Room, где Room.Hotel_No = 6
Я получаю этот результат
Но результат я хочу:
Это выглядит л ike домашняя проблема (намек: в реальном мире деньги не хранятся с помощью 'float'). Вы должны включить то, что вы пытались. –
^Ха-ха, пятно на, Сэр: D – Chendur
Это домашняя проблема :). – Flaugzig