如何使用别名并在选择查询中将它们相加 [英] How to use alias and sum them together in select query
本文介绍了如何使用别名并在选择查询中将它们相加的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在下面有以下问题。我想使用别名并将它们一起添加,但SQL不允许这样做。有关如何在不重复查询的情况下进行此操作的任何建议?使用Microsoft SQL Server 2008
I have the following queries below. I'd like to use the aliases and add them together but SQL does not allow that. Any suggestions on how I can go about this without repeating the queries again? Using Microsoft SQL Server 2008
SqlCommand command = new SqlCommand(@"SELECT Workers.Full_Name,Workers.Salary,
CASE WHEN (SUM(JobHours.Additional_Time)) > 0 THEN (SUM(JobHours.Additional_Time)) ELSE (0) END AS Plusovertime,
CASE WHEN (SUM(JobHours.Additional_Time)) > 0 THEN ROUND(((Workers.Salary/300)*1.5),0) ELSE (0) END AS PlusRental,
(Plusovertime+PlusRental) AS PULSNET
FROM Workers INNER JOIN JobHours ON Workers.Worker_ID = JobHours.Worker_ID
WHERE Jobhours.Start_Work BETWEEN @startdatetime AND @enddatetime
GROUP BY Workers.Worker_ID, Workers.Full_Name,Workers.Salary
ORDER BY Workers.Worker_ID;", conn);
推荐答案
您可以通过使用子查询来实现:
You can achieve that by using subquery:
SELECT Sum1, Sum2, Sum1+Sum2 AS Sum3
FROM (
SELECT SUM(Field1) AS Sum1, SUM(Field2) AS Sum2
FROM TableName
GROUP BY ...
) AS T
http://stackoverflow.com/questions/3932205/to-calculate-sum-two-alias-named-columns-in-sql [ ^ ]
这篇关于如何使用别名并在选择查询中将它们相加的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文