Подтвердить что ты не робот

Переменная sql set с использованием COUNT

Я пытаюсь сделать простой запрос на свой сервер и хочу, чтобы результат сохранялся в переменной @times.

DECLARE @times int

SET @times = SELECT COUNT(DidWin)as "I Win"
FROM thetable
WHERE DidWin = 1 AND Playername='Me'

IntelliSense говорит Wrong syntax near Select

4b9b3361

Ответ 1

Вам просто нужны скобки вокруг вашего выбора:

SET @times = (SELECT COUNT(DidWin) FROM ...)

Или вы можете сделать это следующим образом:

SELECT @times = COUNT(DidWin) FROM ...

Ответ 2

Вы можете выбрать прямо в переменной, а не использовать set:

DECLARE @times int

SELECT @times = COUNT(DidWin)
FROM thetable
WHERE DidWin = 1 AND Playername='Me'

Если вам нужно установить несколько переменных, вы можете сделать это из одного и того же select (например, немного надуманного):

DECLARE @wins int, @losses int

SELECT @wins = SUM(DidWin), @losses = SUM(DidLose)
FROM thetable
WHERE Playername='Me'

Если вы частично используете набор, вы можете использовать круглые скобки:

DECLARE @wins int, @losses int

SET (@wins, @losses) = (SELECT SUM(DidWin), SUM(DidLose)
FROM thetable
WHERE Playername='Me');

Ответ 3

Вы хотите:

DECLARE @times int

SELECT @times =  COUNT(DidWin)
FROM thetable
WHERE DidWin = 1 AND Playername='Me'

Вам также не нужно предложение "как".

Ответ 4

Вы можете использовать SELECT как lambacck. или добавить круглые скобки:

SET @times = (SELECT COUNT(DidWin)as "I Win"
FROM thetable
WHERE DidWin = 1 AND Playername='Me');