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

MySQL:zaktualizuj wszystkie wiersze w tabeli pasujące do wyników innego zapytania

Korzystanie z podzapytań

Najczęściej obsługiwana opcja

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)

Korzystanie z JOIN

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 'SQLSTATE[HY093]:Nieprawidłowy numer parametru:liczba powiązanych zmiennych nie odpowiada liczbie tokenów'

  2. Entity Framework wstawianie danych początkowych podczas odbudowy

  3. Błąd SQL Nie mogę tego rozgryźć

  4. Jaka jest poprawna składnia wyrażenia regularnego znajdź i zamień przy użyciu REGEXP_REPLACE w MariaDB?

  5. MySQL INSERT INTO z podwójnym warunkiem dla JEŚLI NIE ISTNIEJE