我有我的數據庫中的這些表:湊合着內部SQL查詢加入
旅遊 - 這是第一臺
- Tourist_ID - 主鍵
- 名稱...等...
EXTRA_CHARGES
- Extra_Charge_ID - 主鍵
- Excursion_ID - 外鍵
- Extra_Charge_Description
Tourist_Extra_Charges
- Tourist_Extra_charge_ID
- Extra_Charge_ID - 外鍵
- Tourist_ID - 外鍵
預訂
- Reservation_ID - 主鍵
- .....
Tourist_Reservations
- Tourist_Reservation_ID
- Reservation_ID - 外鍵
- Tourist_ID - 外鍵
因此,這裏是我的例子:我有保留與Reservaton_ID = 27
此預訂有兩名遊客與Tourist_ID = 86
和Tourist_ID = 87
此號碼爲86的遊客有額外費用Extra_Charge_ID = 7
和Extra_charge_ID = 11
;
問題是在這裏,遊客屬於遊覽與Excursion_ID = 6
; 因此,此次旅行也會收取Extra_Charge_ID = 8
和Extra_Charge_ID = 9
的額外費用; (除了那些ID 7和11)
是否有可能使SQL查詢來獲取這個Extra_Charge_ID
不屬於這些Tourists_ID
但屬於他們的Excursion_ID
(我的意思是讓Extra_charge_Id:8,9)
(這裏是我爲了獲得所有遊客的extra_charge_description而提出的查詢,但是我不知道如何改變它。)
string selectTouristExtraCharges =
"Select EXTRA_CHARGES.Extra_Charge_Description,TOURIST_EXTRA_CHARGES.Tourist_ID FROM EXTRA_CHARGES";
selectTouristExtraCharges+=" INNER JOIN TOURIST_EXTRA_CHARGES on EXTRA_CHARGES.Extra_Charge_ID = TOURIST_EXTRA_CHARGES.Extra_Charge_ID";
selectTouristExtraCharges+=" INNER JOIN TOURIST_RESERVATION on TOURIST_EXTRA_CHARGES.Tourist_ID = TOURIST_RESERVATION.Tourist_ID";
selectTouristExtraCharges+=" INNER JOIN RESERVATIONS on RESERVATIONS.Reservation_ID = TOURIST_RESERVATION.Reservation_ID";
selectTouristExtraCharges += " where RESERVATIONS.Reservation_ID=27";
如果您可以將Tourist錶鏈接到Excursion表並將Excursion錶鏈接到ExtraCharges表,則可能會出現這種情況。 – Gimmy
以及如何看起來像查詢 –