从子查询中select*
我想得到column1的总和,column2的总和和总和。 在Postgres中,我可以这样做:( 注意明星)
SELECT *, a+b AS total_sum FROM ( SELECT SUM(column1) AS a, SUM(column2) AS b FROM table )
但在Oracle中,我得到一个语法错误,必须使用这个:
SELECT a,b, a+b AS total_sum FROM ( SELECT SUM(column1) AS a, SUM(column2) AS b FROM table )
我有很多列要返回,所以我不想在主查询中再次写入列名。 有没有简单的解决scheme?
我不能在内部查询中使用a + b,因为在这个地方还不知道。 我不想使用SELECT SELECT SUM(column1) AS a, SUM(column2) AS b, SUM(column1)+SUM(column2) AS total_sum
。
您可以通过对该子查询进行别名并在*
之前添加别名来select每个列。
SELECT t.*, a+b AS total_sum FROM ( SELECT SUM(column1) AS a, SUM(column2) AS b FROM table ) t