2017-10-11 6 views
-1

組み合わせが再生:SQL合計合計、または私はそれがすべての試合で行われたすべての目標の合計を生成する必要があり、次のクエリを使用して助けを必要と

SUM(stand1) 
68 
77 

SELECT SUM(stand1) 
    FROM wedstrijdmodule_wedstrijden 
    WHERE team1 = 25 
UNION 
SELECT SUM(stand2) 
    FROM wedstrijdmodule_wedstrijden 
    WHERE team2 = 25; 

それは、その結果私が必要とする:

SUM(stand1) 
145 

私はSQLを行なったし、時間ほど探しので、それは何もありませんし、しばらくしています。それはPHPを使用して抽出されるので、prittyを探す必要はありません。

+0

あなたの特定の問題を明確にしたり、必要な正確に何を強調表示するために、追加の詳細情報を追加してください。現在書かれているとおり、あなたが求めていることを正確に伝えるのは難しいです。この質問を明確にする方法については、How to Askページを参照してください。 –

答えて

2

簡単な答え、派生テーブルでクエリをラップし、別のSUMを実行します。

select sum(sm) 
from 
(
    SELECT SUM(stand1) as sm 
     FROM wedstrijdmodule_wedstrijden 
     WHERE team1 = 25 
    UNION ALL 
    SELECT SUM(stand2) 
     FROM wedstrijdmodule_wedstrijden 
     WHERE team2 = 25 
) dt 

は、2つの選択に戻り、同じ数の場合には、UNION ALLに切り替えました。

あるいは、条件付きの集約を行うためにcase式を使用:

SELECT SUM(case when team1 = 25 then stand1 else 0 end) + 
     SUM(case when team2 = 25 then stand2 else 0 end) 
FROM wedstrijdmodule_wedstrijden 
WHERE team1 = 25 or team2 = 25 
+0

完璧に動作します –

関連する問題