У меня есть эти таблицы в моей базе данных:Sql подзапрос с внутренним соединением
Tourist - это первая таблица
Tourist_ID - primary key
Extra_Charge_ID - foreign key
name...etc...
EXTRA_CHARGES
Extra_Charge_ID - primmary key
Excursion_ID - foreign key
Extra_Charge_Description
Tourist_Extra_Charges
Tourist_Extra_charge_ID
Extra_Charge_ID - foreign key
Tourist_ID - foreign key
Бронирование
Reservation_ID - primary key
.....
Tourist_Reservations
Tourist_Reservation_ID
Reservation_ID - foreign key
Tourist_ID - foreign key
Так вот мой пример: у меня есть резервирование с Reservaton_ID
- 27 Эта оговорка имеет два туриста с Tourist_ID
- 86 и Tourist_ID
- 87 Этот туристический объект с номером 86 имеет надбавку Extra_Charge_ID
- 7 и и Extra_charge_ID
- 11;
Можно ли сделать SQL запрос и имя и идентификатор туриста, а затем все его наценки
Таким образом, выход может выглядеть следующим образом:
Tourist_ID : 86 Name:John Extra_Charge_ID - 7 Extra_Charge_ID - 11
Tourist_ID: 87 Name:Erika
Extra-Charge_ID:10
(Здесь запрос я сделал, чтобы получить extra_charge_description всех туристов с Reservation_ID = 27, но я не знаю, как изменить его., чтобы получить вышеуказанные имена)
Select EXTRA_CHARGES.Extra_Charge_Description,TOURIST_EXTRA_CHARGES.Tourist_ID FROM EXTRA_CHARGES
INNER JOIN TOURIST_EXTRA_CHARGES on EXTRA_CHARGES.Extra_Charge_ID = TOURIST_EXTRA_CHARGES.Extra_Charge_ID
INNER JOIN TOURIST_RESERVATION on TOURIST_EXTRA_CHARGES.Tourist_ID = TOURIST_RESERVATION.Tourist_ID
INNER JOIN RESERVATIONS on RESERVATIONS.Reservation_ID = TOURIST_RESERVATION.Reservation_ID
where RESERVATIONS.Reservation_ID=27
Я не уверен, в чем вопрос .... Вы спрашиваете, возможно ли иметь строки с различными форматами в SQL-запросе? –
... или, возможно, улучшить ваш запрос? Это в tsql? – Milen
Поле _Extra_Charge_ID_ не должно находиться в вашем ** Туристическом ** столе: вы уже связываете туристов с дополнительными расходами через таблицу ** Tourist_Extra_Charges **. – Josien