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

Làm cách nào để cập nhật nhiều trường từ một bảng khác trong mysql?

Truy vấn bạn muốn sẽ trông giống như sau:

UPDATE amdashboard a, ASCNCOAClean b SET
   a.ASCID            = b.id,
   a.ASCFirst         = b.firstname,
   a.ASCLast          = b.lastname,
   a.ASCOtherName     = b.listingspousename,
   ...
   a.ASCMaritalStatus = b.MaritialStatus
WHERE a.actorsfirst = b.firstname;

Quan sát bạn sẽ phải thay thế ... với phần còn lại của các liên kết cột mà tôi không viết.

Nhưng hãy cẩn thận với điều đó, có điều gì đó nói với tôi rằng truy vấn này sẽ làm điều gì đó rất sai đối với cơ sở dữ liệu của bạn, bởi vì bạn không liên kết các bảng bằng một khóa duy nhất. Nếu có hai bản ghi có cùng ASCNCOAClean.firstname bạn chắc chắn sẽ bị mất dữ liệu.

Cũng lưu ý rằng nó sẽ cập nhật hiện có bản ghi trên amdashboard , không thêm những cái mới. Nếu ý định của bạn là di chuyển dữ liệu từ ASCNCOAClean sang amdashboard , giả sử amdashboard là một bảng hoàn toàn mới, trống, sau đó truy vấn bạn muốn là sau:

INSERT INTO amdashboard (
    ASCID, ASCFirst, ASCLast, ASCOtherName, ASCAdd1, ASCAdd2, ASCCity, ASCState, 
    ASCZip, ASCZip4, ASCY2007, ASCY2008, ASCY2009, ASCY2010, ASCY2011, ASCY2012,
    ASCEthnicity, ASCGender, ASCMaritalStatus
)
SELECT
    id, firstname, lastname, listingspousename, add1, add2, city, state,
    zip, zip4, y2007, y2008, y2009, y2010, y2011, y2012, Ethnicity, Gender,
    MaritialStatus
FROM ASCNCOAClean;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. C # - Ngoại lệ phương thức xác thực không mong đợi mysql_native_password

  2. Làm cách nào để lấy các từ phổ biến nhất trong bảng thông qua mysql?

  3. Xóa - Tôi không thể chỉ định bảng mục tiêu?

  4. Cách chèn ID tăng tự động mới

  5. Laravel thay đổi các tham số cơ sở dữ liệu tại thời điểm chạy