SELECT SUM() FROM (SELECT (SELECT())
У меня есть правильный рабочий T-SQL- script в этой форме
SELECT columnA
AS
'numbers'
FROM tableA
WHERE clause
Этот script дает мне как один столбец, называемый числами, целых чисел. Я хочу их суммировать.
Вызов вышеуказанных строк script 'Я попробовал следующую настройку
SELECT SUM(numbers)
FROM (
script
)
Чтение выберите count (*) из select Я предполагал, что это сработает, однако это не так. Я продолжаю получать "Неверный синтаксис рядом".
Я не знаю, важно ли это, но вот здесь имя columnA само составлено выражением SELECT.
Ответы
Ответ 1
Вам нужен псевдоним в подзапросе:
SELECT SUM(numbers)
FROM
(
script -- your subquery will go here
) src -- place an alias here
Таким образом, ваш полный запрос будет выглядеть следующим образом:
select sum(numbers)
from
(
SELECT columnA AS numbers
FROM tableA
WHERE clause
) src
Ответ 2
Нет абсолютно никакой проблемы, чтобы достичь того, чего вы хотите. Мы не видим ваш запрос entier, но самая распространенная проблема заключается в том, что люди забывают добавить псевдоним в свой вложенный оператор select
. Взгляните на этот образец, который отлично работает:
select sum(col1) as sum1
from ( select col1
from ( select 1 col1 union all select 2 union all select 3 ) tmp
) tmp2
Согласно OP, вот ваш окончательный запрос:
SELECT SUM(numbers)
FROM (
SELECT columnA
AS
'numbers'
FROM tableA
WHERE clause
) tmp