0

少なくとも 2 人のファンを持つキャプテン以外のプレーヤーの名前を返す SQL クエリを作成しようとしています。

ファンが好きなチームと好きな選手に分かれているのが難点なので、チームとしても個人的にも好きな選手を数えなければなりません。

これが私が思いついたものですが、正しいレコードが返されません:

select players.name
from players
-- join relevant relations
join teams
on teams.name = players.team
join favplayers
on players.name = favplayers.player
join favteams
on players.team = favteams.team
-- conditions
where players.team <> teams.captain
group by players.name
having (count(favplayers.player) + count(favteams.team)) > 1;

参照用のリレーショナル モデルは次のとおりです。

ここに画像の説明を入力

何か案は?

出力:

NAME             COUNT(DISTINCTFAVPLAYERS.FAN) COUNT(DISTINCTFAVTEAMS.FAN)
-------------------- ----------------------------- ---------------------------
Arthurs                      3               1
Becker                       1               1
Bryan                        0               3
Greul                        0               2
4

1 に答える 1