PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

PostgreSQL:CẬP NHẬT bằng cách sử dụng hàm tổng hợp

Đây là một ví dụ chung về cách thực hiện.

UPDATE public.customer_value cv
SET total_value = sub_q.sum_val 
FROM 
    (
    SELECT SUM(order_amount) AS sum_val, o.customer_id 
    FROM public.orders AS o
    GROUP BY o.customer_id
    ) AS sub_q
WHERE sub_q.customer_id = cv.customer_id;

Nếu bạn muốn thử toàn bộ ví dụ này, bạn có thể tạo dữ liệu giả như sau:

CREATE TABLE public.customer_value
(
  customer_id int 
, total_value numeric (10,2)
);

CREATE TABLE public.orders 
(
  customer_id int
, order_amount numeric(10,2)
);

INSERT INTO public.customer_value
(customer_id)
VALUES 
  (1)
, (2);


INSERT INTO public.orders
(customer_id, order_amount)
VALUES 
 (1, 10)
,(1, 10)
,(2, 7.5)
,(2, 7.5);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo mã loại bắt buộc JOOQ

  2. Bảng từ MySQL sang PostgreSQL tạo chuyển đổi - bảng mã và đối chiếu

  3. postgresql 9.1 - truy cập bảng thông qua các hàm

  4. hoảng:sql:mong đợi 1 đối số đích trong Quét, không phải <number> golang, pq, sql

  5. Tôi nên chọn loại dấu thời gian nào trong cơ sở dữ liệu PostgreSQL?