我正在使用Retrosheet棒球play-by-play數據庫來幫助我學習SQL(使用mySQL)。它有一張名爲「遊戲」的表格,它提供了關於所有遊戲的一般信息:日期,體育場,球隊,比分等等。它還提供關於球員的信息,例如開始投手,陣容,裁判等。但是,所有人都被標記使用ID。我有一個查找表,匹配所有的名字姓和名。每行有多個ID的SQL查找表
如果我想從匹配特定遊戲的遊戲數據庫中選擇*,但我想從ID表中返回名稱而不是ID,有沒有辦法做到這一點?
更具體地說,我們可以說我想從遊戲中選擇game_ID,home_team_id,away_team_id,home_start_pit_id,away_start_pit_id。我想要的是投手的真實姓名而不是id。
你學過表連接嗎?如果沒有,請閱讀這個主題。聯接是SQL的一個基本方面,並在每個SQL教程中都有介紹。 –
我曾嘗試加入,但不知道如何返回多個名稱,下面的答案是我不知道該怎麼做。 – user2557228
如果您要選擇BaseballGame,StartingPlayerName,Team,Position team ='home',您將獲得9行。這就是SQL的工作原理。通常將多個玩家放在同一行上是表示層的責任。但是在SQL中,它可以完成;要在這樣的查詢中獲得同一行上的多個玩家,您必須使用PIVOT來執行高級SQL。 – Tim