Tôi có hai bảng: account_company và document_invoice. Tài khoản bảng_company có 2 cột: company_id và company_name. Bảng document_invoice có cùng các cột: company_id và company_name. Đã xảy ra sự cố và xóa tất cả dữ liệu khỏi tên công ty cột khỏi document_invoice.Làm cách nào để sao chép dữ liệu giữa các bảng PostgreSQL
Làm cách nào để tôi có thể viết truy vấn SQL để sao chép dữ liệu từ bảng công ty tài khoản sang document_invoice? Tôi đã sử dụng UPDATE và SET nhưng tôi không biết chính xác như thế nào.
UPDATE document_invoice
SET company_name = (SELECT company_name FROM account_company)
WHERE document_id.company_name=document_id.account
Hơi OT, hãy xem xét * không mang * tên công ty trong bảng tài liệu hóa đơn, trừ khi bạn nghĩ rằng tên công ty có thể thay đổi và bạn muốn để nắm bắt giá trị của tên công ty từ thời điểm xuất hóa đơn. (Thậm chí sau đó bạn có thể xem xét quản lý thời gian của vấn đề, nhưng có thể là trên đầu trang.) Lưu trữ dự phòng dữ liệu làm cho nó đắt hơn để cập nhật và giới thiệu một nguy cơ mà họ có thể rơi ra khỏi đồng bộ. Đây là những gì tham gia cho. Đừng tin FUD về việc tham gia đắt tiền. – kgrittn
Tôi rất quan tâm đến kgrittn: Nếu bạn đã có company_id trong document_invoice, không cần phải giữ một bản sao của company_name trong bảng đó. –