2015-09-25 54 views
0

我想設計一個存儲關於足球(足球)信息的MySQL數據庫的視圖。MySQL與自定義where子句查看子查詢?

我的目標是創建一個視圖,返回記分員的所有目標和基本信息。這是一個什麼樣使用的視圖看起來像一個簡化版本:

SELECT P.Name AS Player, 
     P.TeamName AS Team, 
     (SELECT COUNT(*) 
     FROM Goals G 
     WHERE G.Scorer = P.playerID) AS TotalGoals 
FROM Players P 

到目前爲止,一切的權利。這個問題開始時,我想指望只在一定的賽季目標,WHERE條款中規定,如我在下面:

SELECT * FROM GoalsView WHERE Season = 1 

併爲它返回自動只在WHERE了本賽季的進球數子句,就好像子查詢被自動編輯爲使其看起來像:

[...] 
(SELECT COUNT(*) 
FROM Goals G 
WHERE G.Scorer = P.playerID 
AND Season=1) AS TotalGoals 
[...] 

我希望我明確自己。謝謝你的幫助!

回答

0

一個可能的解決方案是

SELECT P.Name AS Player, 
    P.TeamName AS Team, 
    (SELECT COUNT(*) 
    FROM Goals G 
    WHERE G.Scorer = P.playerID AND season=1 GROUP By season) AS TotalGoals 
FROM Players P 

我不知道你是否有單獨的表季節或列

0

爲了訪問goals.season,你必須加入兩個表:

select 
    p.name as player, 
    p.teamname as team, 
    count(goals.id) as totalgoals 
from players p 
left join goals g on g.scorer = p.playerid 
group by p.name, p.teamname;