2013-02-14 42 views
2

以下是IPL數據庫關係相匹配:從兩個表中獲取數據需求的解決方案查詢

  1. Player (playerId, name, playsfor):每個球員的細節和他效力球隊。 Playsfor在Team table中引用teamid。
  2. Team (Teamid, Name):團隊細節。
  3. PlayerBat (Playerid, matchid, Runscored, Teamid):每場比賽中球員的得分。只有當玩家在比賽中進行比賽時纔有一排球員。
  4. PlayerBowl (Playerid, matchid, WicketTaken, teamid):在每場比賽中球員採取的小門。只有當玩家在比賽中進行比賽時纔有一排球員。
  5. PlayerMatchDetails (Playerid, Matchid):包含參加比賽的球員的姓名。

。你需要寫一個SQL查詢來獲取由團隊ID T02在比賽IPL11 注1拿下運行的總數:列(S)將顯示在結果或輸出應該是totalRun只要。

任何人都可以幫助我,我是新來的sql。我如何從兩個或更多記錄中獲取數據?

+0

OMG! IPL! Ohk抱歉..現在我會讀到這個問題......但是我們無法從球員總數中得到總跑位數......那麼額外的情況呢? – Aditi 2013-02-14 06:34:30

回答

0
select 
    sum(Runscored) as totalRun 
    from `PlayerBat` 
    where Teamid = 'T02' and matchid = 'IPL11' 
+0

你應該v給playerbat引號? – karthick23 2013-02-14 08:00:32

+0

這不是引用它是反向引用或反向引用。 反斜槓還允許在表格/列名稱中使用空格和其他特殊字符(顯然除了反引號)。他們不是絕對必要的,但是安全的好主意。 如果你按照明智的規則命名錶和列,反引號應該是不必要的。 – 2013-02-14 08:54:56

0

既然你正在尋找只是總運行的,沒有必要加入其他表,你可以簡單地這樣做:

SELECT 
    SUM(Runscored) AS TotalRuns 
FROM PlayerBat 
WHERE teamid = 'T02' 
    AND matchid = 'IPL11'; 
+0

Grt gamal,感謝您的快速回復,但是匹配id的功能在這裏,爲什麼是ipl 11 – karthick23 2013-02-14 06:42:58

+0

@ karthick23這不是'IPL11'是匹配ID嗎?和'teamid'''T02''不是隊名或隊名嗎?如果他們不是你應該加入其他表格,我認爲他們是ID。 – 2013-02-14 06:45:34

+0

@ karthick23 - **請注意:**我假定總運行次數是「Runscored」列中的值的總和。這是正確的嗎?如果不是如何計算的? – 2013-02-14 06:49:58