Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zapytanie aktualizujące SQL za pomocą złączeń

UPDATE im
SET mf_item_number = gm.SKU --etc
FROM item_master im
JOIN group_master gm
    ON im.sku = gm.sku 
JOIN Manufacturer_Master mm
    ON gm.ManufacturerID = mm.ManufacturerID
WHERE im.mf_item_number like 'STA%' AND
      gm.manufacturerID = 34

Aby było jasne... UPDATE klauzula może odwoływać się do aliasu tabeli określonego w FROM klauzula. Więc im w tym przypadku obowiązuje

Przykład ogólny

UPDATE A
SET foo = B.bar
FROM TableA A
JOIN TableB B
    ON A.col1 = B.colx
WHERE ...


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przekazywanie listy<> do procedury składowanej SQL

  2. nvarchar(max) vs NText

  3. WinRT System.Data — Połącz z SQL

  4. Kiedy używać EXCEPT w przeciwieństwie do NOT EXISTS w Transact SQL?

  5. Klauzula WHERE dotycząca typu danych SQL Server Text