我有两张足球主题桌。一个拥有所有玩家,另一个拥有他们的ID,如果他们进球。自己的目标有一个值,如果为真则为1,如果为假则为0。
我想选择每位球员的姓氏以及得分目标的总数。如果一名球员没有进球,结果仍应显示球员,但是,对于进球,则为零。
SELECT LastName, COUNT(Goal.Player_ID) "Goals"
FROM Player
LEFT OUTER JOIN Goal ON Player.Player_ID = Goal.Player_ID
GROUP BY LastName
ORDER BY "Goals" DESC;
虽然这很好,但我只想显示没有进球的元组或者进球不是自己的目标的球员
让我解释一下:我想选择所有玩家,包括那些没有进球的球员,但如果他们确实我只想要计算那些目标不是自己的目标。
答案 0 :(得分:1)
尝试将ownGoal验证添加到ON子句:
SELECT LastName, COUNT(Goal.Player_ID) "Goals"
FROM Player
LEFT OUTER JOIN Goal ON Player.Player_ID = Goal.Player_ID AND Goal.ownGoal = 0
GROUP BY LastName
ORDER BY "Goals" DESC;