2016-04-17 14 views
0

Also ich habe versucht, die Spieler besitzt alle Symbole zu überprüfen, und da es drei Symbole sind die Abfrage wird:Wie bekomme ich jeden Wert der Tabelle?

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

Aber was, wenn ich will es nicht in Zahlen so, wenn ich will später Symbole hinzufügen Die Abfrage wird nicht geändert? Ich habe versucht, dies scheint aber wie es tot ist falsch:

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

Gibt es eine Möglichkeit, es zu ändern oder muss ich mit Zahlen bleiben?

Antwort

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

Was passiert mit einer eindeutigen IconID? –

+0

Das ist nur, wenn ein Spieler das gleiche Icon zweimal haben könnte. Es hängt von Ihrer Logik ab, ob das möglich ist. Wenn nicht, entferne das "distinct" –

Verwandte Themen