sql >> Database >  >> RDS >> Mysql

Hoe update je meerdere velden uit een andere tabel in mysql?

De gewenste zoekopdracht ziet er ongeveer zo uit:

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;

Merk op dat u ... . moet vervangen met de rest van de kolomassociaties die ik niet heb geschreven.

Maar wees daar voorzichtig mee, iets zegt me dat deze query iets heel erg verkeerd gaat doen met je database, omdat je de tabellen niet relateert met een unieke sleutel. Als er twee records zijn met dezelfde ASCNCOAClean.firstname u zult zeker gegevensverlies hebben.

Merk ook op dat het bestaande . gaat updaten records op amdashboard , geen nieuwe toevoegen. Als het uw bedoeling is om gegevens te migreren van ASCNCOAClean naar amdashboard , ervan uitgaande dat amdashboard is een gloednieuwe, lege tabel, dan is de vraag die u wilt deze:

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. datumnotatie in node.JS

  2. MySQL LEFT JOIN Meerdere voorwaarden

  3. Een offline app voor internationalisering maken:meerdere talen ondersteunen

  4. Hoe sorteer ik een mysql-kolom met gegevens in Bytes KB MB GB?