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

Чтобы вычислить сумму() двух псевдонимов, названных столбцами - в 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 поддерживать дубликаты имен столбцов?

Как использовать его для поддержки повторяющегося имени столбца

4b9b3361

Ответ 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

- имя таблицы.