クエリで宣言された2つの一時列名のsum()を計算するには-SQLで
stud
テーブルには2つの列しかありません_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では重複する列名をサポートしていませんか?
重複する列名をサポートするためにそれを利用する方法
直接実行することはできません。CTE(共通テーブル式)のようなものを使用する必要があります。次のようになります。
;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標準)でも機能します)。