2

我有两张以足球为主题的桌子。一个拥有所有球员,另一个拥有他们的 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;

虽然这很好用,但我只想显示没有进球的元组或进球不是乌龙球的球员。

让我解释一下:我想选择所有球员,包括那些没有进球的球员,但如果他们这样做了,我只想计算不是乌龙球的进球

4

1 回答 1

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;
于 2013-11-12T16:25:35.287 回答