sql >> Database teknologi >  >> RDS >> Mysql

MySQL:Opdater alle rækker i en tabel, der matcher resultaterne af en anden forespørgsel

Brug af underforespørgsler

Mest udbredt understøttet mulighed

UPDATE INVOICES
   SET s_id = (SELECT cs.s_id
                 FROM CUSTOMERS_AND_SALES cs
                WHERE cs.c_id = INVOICES.c_id),
       s_name = (SELECT cs.s_name
                   FROM CUSTOMERS_AND_SALES cs
                  WHERE cs.c_id = INVOICES.c_id)
 WHERE INVOICES.c_id IN (SELECT cs.s_id
                           FROM CUSTOMERS_AND_SALES cs)

Brug af JOINs

UPDATE INVOICES
  JOIN CUSTOMERS_AND_SALES cs ON cs.c_id = INVOICES.c_id
   SET s_id = cs.s_id,
       s_name = cs.s_name


  1. Sådan sikkerhedskopieres MySQL-databaser fra kommandolinjen i Linux

  2. Hvordan kan jeg filtrere Emoji-tegn fra mit input, så jeg kan gemme i MySQL <5.5?

  3. Oracle UNION-operatør forklaret

  4. Dvaleskemanavngivning er forskellig mellem OS