Чтобы вычислить сумму() двух псевдонимов, названных столбцами - в sql
Чтобы вычислить сумму() двух имен столбцов temp, объявленных в запросе, - в SQL
stud
таблица имеет только два столбца m1,m2
. total и total1 указывается как временное имя.
select
m1, m2,
SUM(m1) + SUM(m2) as Total,
SUM(m1) + SUM(m2) as Total1
from
stud
group by
m1, m2
Как рассчитать grandtotal
как sum(total)+sum(total1)
с именем столбца, объявленным как имя temp для выполняемого запроса.
С cte dosn't поддерживать дубликаты имен столбцов?
Как использовать его для поддержки повторяющегося имени столбца
Ответы
Ответ 1
Вы не можете сделать это напрямую - вам нужно использовать что-то вроде CTE (Common Table Expression) - вот так:
;WITH sums AS
(
SELECT
m1, m2,
SUM(m1) + SUM(m2) as Total,
SUM(m1) + SUM(m2) as Total1
FROM
dbo.stud
GROUP BY
m1, m2
)
SELECT
m1, m2,
total, total1,
total+total1 AS 'GrandTotal'
FROM
sums
Это работает в SQL Server 2005 и новее (а также в некоторых других системах баз данных, поддерживающих CTE - стандарт ANSI).
Ответ 2
select convert(int, first)+ convert(int,second) as total from test1
в этом первом и втором полевом типе данных nvarchar
, и если поля находятся в integer
, то
select first+second as total from test1 , test1
- имя таблицы.