gpt4 book ai didi

sql - 从子查询中选择 *

转载 作者:行者123 更新时间:2023-12-03 05:49:00 25 4
gpt4 key购买 nike

我想获得第1列的总和、第2列的总和以及总和。在 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
)

我确实有很多列要返回,所以我不想在主查询中再次写入列名称。有什么简单的解决办法吗?

我不能在内部查询中使用 a+b,因为这个地方不知道。我不想使用SELECT SELECT SUM(column1) AS a, SUM(column2) AS b, SUM(column1)+SUM(column2) AS total_sum

最佳答案

您可以通过为该子查询添加别名并在 * 之前添加别名来选择该子查询中的每一列:

SELECT t.*, a+b AS total_sum
FROM
(
SELECT SUM(column1) AS a, SUM(column2) AS b
FROM table
) t

关于sql - 从子查询中选择 *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8911654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com