2016-04-17 5 views
0

だから私はすべてのアイコンを所有しており、3つのアイコンがあるので、クエリがなる選手をチェックしようとしていた。どのようにテーブルのすべての値を取得するには?

SELECT PlayerID from OwnedIcon GROUP BY PlayerID HAVING COUNT(IconID)=3; 

しかし、私は、後にアイコンを追加したいので、もし私が数字でそれをしたくない場合はどのようなクエリは変更されませんか?私はこれを試してみましたが、それは死んで間違っているように思える:

SELECT PlayerID from OwnedIcon GROUP BY PlayerID HAVING COUNT(IconID)= SELECT COUNT (*) FROM Icon; 

はそれを変更するか、私は数字に固執する必要はない方法はありますか?

答えて

1
SELECT PlayerID 
from OwnedIcon 
GROUP BY PlayerID 
HAVING COUNT(distinct IconID) = (SELECT COUNT(*) FROM Icon) 
+0

別のアイコンIDはどうなりますか? –

+0

これは、プレイヤーが同じアイコンを2回持つことができた場合です。それが可能ならあなたのロジックに依存します。 'distinct'を削除しないと –

関連する問題