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

Zapytanie aktualizujące SQL i „podzapytanie zwróciło więcej niż jedną wartość”

Twoje podzapytanie nie jest w ogóle skorelowane. Identyfikator „TableA.key” w podzapytaniu odnosi się do TableA w klauzuli FROM podzapytania, a nie do tabeli docelowej aktualizacji (która również jest TableA). Nie chcesz aktualizować TableA.field za pomocą zestawu wyników sprzężenia dwóch tabel. Po prostu tego chcesz:

UPDATE TableA  
   SET TableA.field = (SELECT TableB.field  
                       FROM TableB
                       WHERE TableA.key = TableB.key)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CASE WHEN oświadczenie dla klauzuli ORDER BY

  2. Analiza wydajności we/wy dla SQL Server

  3. SQL Server, aby pokazać drzewo danych w określonym formacie

  4. Połączenie sql czeka 15 sekund pomimo limitu czasu 3 sekund w ciągu połączenia

  5. Nie można połączyć się z serwerem SQL za pomocą PHP