sql >> Databasteknik >  >> RDS >> Sqlserver

SQL-uppdateringsfråga och "subquery returnerade mer än ett värde"

Din underfråga är inte alls korrelerad. Identifieraren "TableA.key" i underfrågan hänvisar till TableA i underfrågans FROM-klausul, inte måltabellen för uppdateringen (som också råkar vara TabellA). Du vill inte uppdatera TableA.field med resultatuppsättningen av en två-tabells koppling. Du vill bara ha det här:

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


  1. Hur kan tidsstämpeln vara en långsam fråga?

  2. Oracle hittar en begränsning

  3. Hur kan jag sortera efter flera kolumner men inte efter värde?

  4. Så här återställer du identitetskolumnvärde i SQL Server-tabell - SQL Server / T-SQL självstudie del 43