sql >> Database >  >> RDS >> Sqlserver

SQL-updatequery en 'subquery hebben meer dan één waarde geretourneerd'

Uw subquery is helemaal niet gecorreleerd. De identifier "TableA.key" in de subquery verwijst naar de TableA in de FROM-clausule van de subquery, niet naar de doeltabel van de update (die toevallig ook TableA is). U wilt TableA.field niet bijwerken met de resultatenset van een join met twee tabellen. Dit wil je gewoon:

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


  1. Oracle Query:twee kolommen met verschillende tabellen vergelijken met door komma's gescheiden waarden

  2. SQL-fout:'database.table.field staat niet in GROUP BY

  3. MySQL-syntaxis voor opgeslagen procedures IF else

  4. Vloeiend NHibernate en PostgreSQL, SchemaMetadataUpdater.QuoteTableAndColumns - System.NotSupportedException:Opgegeven methode wordt niet ondersteund