SQL définir la variable en utilisant COUNT
J'essaie de faire une requête simple à mon serveur et je veux que le résultat soit stocké dans la variable @times.
DECLARE @times int
SET @times = SELECT COUNT(DidWin)as "I Win"
FROM thetable
WHERE DidWin = 1 AND Playername='Me'
IntelliSense, dit - Wrong syntax near Select
31
demandé sur
jao
2011-05-22 18:12:33
4 réponses
Vous avez juste besoin de parenthèses autour de votre select:
SET @times = (SELECT COUNT(DidWin) FROM ...)
Ou vous pouvez le faire comme ceci:
SELECT @times = COUNT(DidWin) FROM ...
70
répondu
Mike Valenty
2011-05-25 15:17:08
Vous pouvez sélectionner directement dans la variable plutôt que d'utiliser set:
DECLARE @times int
SELECT @times = COUNT(DidWin)
FROM thetable
WHERE DidWin = 1 AND Playername='Me'
Si vous devez définir plusieurs variables, vous pouvez le faire à partir de la même sélection (exemple un peu artificiel):
DECLARE @wins int, @losses int
SELECT @wins = SUM(DidWin), @losses = SUM(DidLose)
FROM thetable
WHERE Playername='Me'
Si vous êtes partial à l'utilisation de set, vous pouvez utiliser des parenthèses:
DECLARE @wins int, @losses int
SET (@wins, @losses) = (SELECT SUM(DidWin), SUM(DidLose)
FROM thetable
WHERE Playername='Me');
8
répondu
lambacck
2011-05-22 14:34:39
Vous voulez:
DECLARE @times int
SELECT @times = COUNT(DidWin)
FROM thetable
WHERE DidWin = 1 AND Playername='Me'
Vous n'avez pas non plus besoin de la clause 'as'.
1
répondu
James Wiseman
2011-05-22 14:15:30
Vous pouvez utiliser SELECT
comme lambacck dit
ou ajouter des parenthèses:
SET @times = (SELECT COUNT(DidWin)as "I Win"
FROM thetable
WHERE DidWin = 1 AND Playername='Me');
0
répondu
a1ex07
2011-05-22 14:19:00