2017-02-22 8 views
0

プール一致の結果を生成しようとしています。私は試合で勝ったフレームの数を数えていますが、フレームに当たっていない人には結果を出すのが難しいです。グループでカウント基準を満たさないレコードを作成する方法

私は、カウントを使用すると、0を返すレコードによってグループが削除されたが、私が使用できる他の方法では不明であることを読んだ。

してくださいあなたはありがとう、私は以下の私のクエリを向上させることができますどのように助言することができます:)

select 
    t1.Match_ID, 
    t1.Home_Player_ID, 
    Frames_Won, 
    coalesce(Frames_Lost,0) as Frames_Lost 
from 
    (
    select 
     Match_ID, 
     Home_Player_ID, 
     count(*) as Frames_Won 
    from 
     Match 
    where 
     Home_Player_Win = 1 
    and 
     Match_ID = '56D4FF05-5F33-43FC-A566-2251E790C57F' 
    group by 
     Match_ID, 
     Home_Player_ID 
    ) t1 
left join 
    (
    select 
     Match_ID, 
     Home_Player_ID, 
     count(*) as Frames_Lost 
    from 
     Match 
    where 
     Home_Player_Win = 0 
    and 
     Match_ID = '56D4FF05-5F33-43FC-A566-2251E790C57F' 
    group by 
     Match_ID, 
     Home_Player_ID 
    ) t2 
on t1.Home_Player_ID = t2.Home_Player_ID 

答えて

2

私はユーザーが理由home_player_win =最初のサブクエリの制限のいずれかのゲームに勝っていないレコードを欠けていると思います1.

このクエリが機能しない理由はありますか?

SELECT 
Match_ID, 
Home_Player_ID, 
SUM(home_player_win) 
FROM match 
WHERE Match_ID = '56D4FF05-5F33-43FC-A566-2251E790C57F' 
GROUP BY Match_ID, Home_Player_ID; 
+0

もちろん、合計!返される結果セットは、まさに私が後にしているものです。ありがとうございました。 – Floyd

関連する問題