2015-11-11 77 views
1

我遇到了SQL查詢問題。我們的目標是隻看到特定日期的某些條目(我已經得到了這些條目),在過去的5場主場比賽中平均分數低於1。SQL AVG語句的另一個表

你可以看到這裏的表: http://dbup2date.uni-bayreuth.de/downloads/bundesliga/Klassendiagramm_Bundesliga.pdf

我到目前爲止這樣的代碼:

SELECT 
    A.Spieltag, A.Datum, A.Uhrzeit, B.Name AS Heim 
FROM 
    Spiel AS A 
JOIN 
    Verein AS B ON A.Heim = B.V_ID AND B.Liga = 1 
WHERE 
    Spieltag = 5 
HAVING 
    AVG(SELECT Tore_Heim 
     FROM Spiel AS A 
     JOIN Verein AS B 
     WHEN A.Heim = B.V_ID) < 1 

對不起,我英文不好

謝謝

+3

哪個RDBMS用於此目的?請添加一個標籤來指定您是使用'mysql','postgresql','sql-server','oracle'還是'db2' - 或者其他的東西。 –

回答

0

確保你組通過任何=您使用HAVING時未彙總的字段。您可以簡化HAVING子句,因爲您已經在引用FROM中的那些確切表格:

SELECT 
    A.Spieltag, A.Datum, A.Uhrzeit, B.Name AS Heim 
FROM 
    Spiel AS A 
JOIN 
    Verein AS B ON A.Heim = B.V_ID AND B.Liga = 1 
WHERE 
    Spieltag = 5 
GROUP BY A.Spieltag, A.Datum, A.Uhrzeit, B.Name 
HAVING 
    AVG(Tore_Heim) < 1 
+0

嘿,謝謝你,但你能告訴我如何選擇過去5場主場比賽的平均水平嗎?因爲就像現在它是我認爲的所有主場比賽? – JaBe

+0

我會的,但你的字段名都是德文的。我不知道要過濾什麼。 –