我有一張桌子充滿了慈善保齡球錦標賽的單個保齡球比賽(表格:投球手)。我試圖通過可能的3場保齡球將男性和女性的頂級個人分數拉出來,並將其與來自不同表格(團隊)的團隊名稱相關聯,然後按降序排列最高分數。當從表格中的多列中選擇最大值時出現SQL錯誤
我先從男性得分開始,並有一個SQL查詢,我認爲應該爲每個人在可能的三場比賽中選擇最高得分,然後按降序排列所有記錄。我基於它關閉,我發現對堆棧溢出這裏類似的問題的答案:https://stackoverflow.com/a/6871572
這裏是我的查詢:
$topmalebowler = "SELECT bowlers.bowler_name, teams.team_name,
(SELECT MAX(v) FROM (VALUES (bowlers.game_1_score),
(bowlers.game_2_score), (bowlers.game_3_score)) AS value(v))
as TopScore FROM bowlers INNER JOIN teams ON
bowlers.team_id=teams.team_id WHERE bowlers.sex = 'M'
ORDER BY 'TopScore' DESC";
我不斷收到一個與它的錯誤,但。
「錯誤您的SQL語法錯誤;檢查對應於您的MySQL服務器版本正確的語法使用 附近的價值觀(bowlers.game_1_score),(bowlers.game_2_score)的手冊, (bowlers.g」在行......」
我在做什麼錯在這裏我怎樣才能讓這個代碼扳平房間裏
注:??MySQL的5.5
我敢肯定你複製的這些倒錯之一,但你的代碼引用'保齡球'表和你的錯誤引用'bowlers_2016'表。 – tschwab
你是對的...修復它。謝謝! – TMax
如果你使用的是MySQL,那麼你應該看看你鏈接的問題的第二個最有幫助的答案。您使用的語法只適用於Microsoft Sql Server – Terminus