Helpex - Trao đổi & giúp đỡ Đăng nhập

Chọn * từ truy vấn con

Huỳnh Thùy Trang
· 14:19 18/01/2012
08:07:20 16/06/2021

Tôi muốn lấy tổng của cột1, tổng của cột2 và tổng tổng. Trong Postgres, tôi có thể làm theo cách này: (để ý ngôi sao)

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

Nhưng trong Oracle, tôi gặp lỗi cú pháp và phải sử dụng điều này:

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

Tôi thực sự có rất nhiều cột để trả về vì vậy tôi không muốn viết lại tên cột trong truy vấn chính. Có bất kỳ giải pháp dễ dàng?

Tôi không thể sử dụng a + b trong truy vấn bên trong vì không biết ở nơi này. Tôi không muốn sử dụng SELECT SELECT SUM(column1) AS a, SUM(column2) AS b, SUM(column1)+SUM(column2) AS total_sum.

62 hữu ích 1 bình luận 194k xem chia sẻ
Hoàng Minh Nhân
· 14:21 18/01/2012
14:21:02 18/01/2012

Bạn có thể chọn mọi cột từ truy vấn phụ đó bằng cách đặt bí danh và thêm bí danh trước *:

SELECT t.*, a+b AS total_sum
FROM
(
   SELECT SUM(column1) AS a, SUM(column2) AS b
   FROM table
) t
144 hữu ích 1 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ sql oracle , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm