Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak zaktualizować wiele pól z innej tabeli w mysql?

Żądane zapytanie wyglądałoby mniej więcej tak:

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;

Zauważ, że będziesz musiał wymienić ... z resztą skojarzeń kolumn, których nie napisałem.

Ale bądź ostrożny, coś mi mówi, że to zapytanie zrobi coś bardzo złego w twojej bazie danych, ponieważ nie łączysz tabel przy użyciu unikalnego klucza. Jeśli istnieją dwa rekordy z tym samym ASCNCOAClean.firstname na pewno utracisz dane.

Zauważ też, że zaktualizuje istniejące zapisy na amdashboard , nie dodawaj nowych. Jeśli Twoim zamiarem jest migracja danych z ASCNCOAClean do amdashboard , zakładając amdashboard jest zupełnie nową, pustą tabelą, to żądane zapytanie to:

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. Wyniki Mysql w PHP - tablice czy obiekty?

  2. XAMPP — nieoczekiwane zamknięcie MySQL

  3. Dodawanie wielu kolumn w MySQL za pomocą jednej instrukcji

  4. Zapytanie o kryteria hibernacji, aby uzyskać określone kolumny

  5. Przesyłaj z VARCHAR do INT - MySQL