試着改變你的
WHERE branchID =(選擇....
到
WHERE branchID IN(選擇....
,等價測試通常在兩列你試圖將一列中的平等值應用到一個SELECT語句中...... IN是你正在測試合格的人員的正確位置
此外,這可能是與JOIN的如
SELECT
bfr.boatId,
bfr.address,
bfr.city,
bfr.postcode,
bfr.type,
bfr.rooms,
bfr.price
FROM
BoatsForRent bfr
JOIN staff s
on bfr.staffID = s.staffID
JOIN Branch b
on s.branchID = b.branchID
AND b.address LIKE '21 Harbour Road%'
COMMENT反饋...
由於上述不工作,建立反向查詢寫......一步一個時間,並申請任何未來的查詢。把它們分成小塊,直到找到丟失/不匹配元素的罪魁禍首。
select
b.branchID
from
Branch b
where
b.address LIKE '21 Harbour Road%'
如果失敗,它是一個類型 - 鄰,或者它本來應該「路」與「路」,拼寫,間距,大寫/小寫?一個是解決了,現在那個辦公室
檢查人員如果返回任何記錄,那麼有沒有工作人員工作人員與有問題的分支中列出有關。如果沒有在分支機構上市,它顯然不會返回船隻租賃記錄。現在,添加船出租...
select
b.branchID,
s.staffID,
bfr.boatId,
bfr.address,
bfr.city,
bfr.postcode,
bfr.type,
bfr.rooms,
bfr.price
from
Branch b
JOIN staff s
on b.branchID = s.branchID
JOIN BoatsForRent bfr
on s.staffID = bfr.staffID
where
b.address LIKE '21 Harbour Road%'
如果仍然失敗,然後刪除WHERE子句,並獲得租金ALL船,然後只需添加一個
ORDER BY b.address
,看看所有的船隻與......有關當在SQL中年輕時可能會導致問題...有時需要緩慢的步驟。
評論反饋。
通過看你的修訂後,我現在看到你的地址包括「朴茨茅斯」,讓您的查詢就會失敗作爲
address = '21 Harbour Road'
是不一樣的
address = '21 Harbour Road, Portsmouth'
我已經改爲
address LIKE '21 Harbour Road%'
的「%」就像是一個外卡,所以只要在地址S與'21港灣道'的TTS將符合資格。
嘗試執行您的查詢分解。 – Aditya