簡體   English   中英

要計算sum()兩個名為column的別名 - 在sql中

[英]To calculate sum() two alias named columns - in sql

計算在查詢中聲明的兩個臨時列名的sum() - 在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) ,並將列名稱聲明為要執行的查詢的臨時名稱。

使用cte dos不支持重復的列名?

如何利用它來支持重復的列名

你不能直接這樣做 - 你需要使用像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標准)。

select convert(int, first)+ convert(int,second) as total from test1 

在第一個和第二個是字段數據類型是nvarchar ,如果字段是integer然后

select first+second as total from test1 , test1

是表名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM