我有我的數據庫中的這些表:SQL子查詢的問題加入
旅遊 - 這是第一臺
Tourist_ID - primary key
name...etc...
EXTRA_CHARGES
Extra_Charge_ID - primary key
Extra_Charge_Description
Amount
Tourist_Extra_Charges
Tourist_Extra_Charge_ID
Extra_Charge_ID - foreign key
Tourist_ID - foreign key
因此,這裏的例子
我有一個旅遊與Tourist_ID - 86。這位身份證號碼爲86的遊客收取Extra_Charge_ID - 7和Extra_charge_ID - 11的額外費用;
我試着做一個查詢,所以我可以把EXTRA_CHARGES表中的遊客的名字和所有費用不是屬於這個遊客。
這裏是我嘗試的查詢 - 但它不會返回任何內容。
SELECT
Tourist.Name
, EXTRA_CHARGES.Extra_Charge_Description
, EXTRA_CHARGES.Amount
FROM
Tourist
INNER JOIN TOURIST_EXTRA_CHARGES
ON Tourist.Tourist_ID = TOURIST_EXTRA_CHARGES.Tourist_ID
INNER JOIN EXTRA_CHARGES
ON TOURIST_EXTRA_CHARGES.Extra_Charge_ID = EXTRA_CHARGES.Extra_Charge_ID
WHERE
Tourist.Tourist_ID= 86
and EXTRA_CHARGES.Extra_Charge_ID NOT IN
( SELECT Extra_Charge_ID
FROM TOURIST_EXTRA_CHARGES te
WHERE te.Tourist_ID = 86
)
當然我能辦到的收費與此查詢
SELECT * FROM EXTRA_CHARGES e
WHERE e.Extra_Charge_ID NOT IN
(SELECT Extra_Charge_ID from TOURIST_EXTRA_CHARGES te
WHERE te.Tourist_ID = 86
)
,但我不能找到一個辦法讓這個旅遊名
你能證明你的查詢的輸出給作爲更多的理解 – zxc