Ответ 1
Вам просто нужны скобки вокруг вашего выбора:
SET @times = (SELECT COUNT(DidWin) FROM ...)
Или вы можете сделать это следующим образом:
SELECT @times = COUNT(DidWin) FROM ...
Я пытаюсь сделать простой запрос на свой сервер и хочу, чтобы результат сохранялся в переменной @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
Вам просто нужны скобки вокруг вашего выбора:
SET @times = (SELECT COUNT(DidWin) FROM ...)
Или вы можете сделать это следующим образом:
SELECT @times = COUNT(DidWin) FROM ...
Вы можете выбрать прямо в переменной, а не использовать 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');
Вы хотите:
DECLARE @times int
SELECT @times = COUNT(DidWin)
FROM thetable
WHERE DidWin = 1 AND Playername='Me'
Вам также не нужно предложение "как".
Вы можете использовать SELECT
как lambacck.
или добавить круглые скобки:
SET @times = (SELECT COUNT(DidWin)as "I Win"
FROM thetable
WHERE DidWin = 1 AND Playername='Me');