sql >> Databáze >  >> RDS >> Mysql

Jak aktualizujete více polí z jiné tabulky v mysql?

Požadovaný dotaz by vypadal asi takto:

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;

Všimněte si, že budete muset nahradit ... se zbytkem asociací sloupců, které jsem nenapsal.

Ale buďte opatrní, něco mi říká, že tento dotaz udělá s vaší databází něco velmi špatného, ​​protože tabulky nespojujete pomocí jedinečného klíče. Pokud existují dva záznamy se stejným ASCNCOAClean.firstname určitě dojde ke ztrátě dat.

Všimněte si také, že se chystá aktualizovat existující záznamy na amdashboard , nepřidávat nové. Pokud je vaším záměrem migrovat data z ASCNCOAClean na amdashboard , za předpokladu, že amdashboard je zcela nová, prázdná tabulka, pak požadovaný dotaz je tento:

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. Více jmen hostitelů a více oprávnění?

  2. Vyberte, zda existuje jiný vložit?

  3. Mysql - Proměnná uložené procedury OUT vrací hodnotu null

  4. php mysqli_connect:metoda ověřování neznámá klientovi [caching_sha2_password]