我有一個任務,我需要編寫一個SQL查詢,它將檢索玩家數量以及支付玩家總費用並支付總額超過80英鎊的玩家總額罰款。SQL查詢,加入多個表,Oracle
我有三個表
播放器(playerNo,名,縮寫,街道,鎮,郵編)
隊(teamNo,playerNo,師)
處罰( paymentNo,playerNo,penDate,amount)
粗體文本表示主鍵。球隊表中的球員號碼錶示球隊隊長。
我不知道如何加入三張表。但我的嘗試是這樣的:
SELECT p1.playerNo, SUM(p2.amount)
FROM Players p1 INNER JOIN Teams t
ON p1.playerNo = t.playerNo
JOIN penalties p2
ON p2.playerNo = p1.playerNo
GROUP BY playerNo
HAVING SUM(p2.amount) > 80;
這是正確的嗎?
你的表格是有點奇怪...'teams'不應引用'players','players'應引用'teams'。 –
我不知道該查詢上的「團隊」表格是什麼,因爲它不在選擇上而在篩選器上。 –
,因爲在球隊表中,球員沒有代表球隊隊長,而我只是試圖選擇只是球隊隊長的球員。 – Ivan