To calculate sum() of two temp column names declared in query - in SQL
stud
table has only two columns m1,m2
. total and total1 is given as temp name.
select
m1, m2,
SUM(m1) + SUM(m2) as Total,
SUM(m1) + SUM(m2) as Total1
from
stud
group by
m1, m2
How to calculate grandtotal
as sum(total)+sum(total1)
with the column name declared as temp name for the query to execute.
With cte dosn't support duplicate column names?
How to make use of it to support duplicate columnname
Using the CALCULATED Keyword with Column AliasesThe CALCULATED keyword enables PROC SQL users to reference column aliases that are associated with calculated expressions. The column alias referenced by the CALCULATED keyword can be in the WHERE clause, ON clause, GROUP BY clause, HAVING clause, or ORDER BY clause.
All you need to do is use the multiplication operator (*) between the two multiplicand columns ( price * quantity ) in a simple SELECT query. You can give this result an alias with the AS keyword; in our example, we gave the multiplication column an alias of total_price .
You can't do it directly - you need to use something like a CTE (Common Table Expression) - like this:
;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
This works in SQL Server 2005 and newer (and also in some other database systems that support CTE's - which is an ANSI standard).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With