Heim > Datenbank > MySQL-Tutorial > Wie kann ich eine SQL Server-Tabelle mithilfe von Werten aus einer SELECT-Anweisung aktualisieren?

Wie kann ich eine SQL Server-Tabelle mithilfe von Werten aus einer SELECT-Anweisung aktualisieren?

Patricia Arquette
Freigeben: 2025-01-25 05:16:09
Original
290 Leute haben es durchsucht

How Can I Update a SQL Server Table Using Values from a SELECT Statement?

Aktualisieren von SQL -Server -Tabellen mit Daten aus SELECT -Anweisungen

SQL Server ermöglicht das Einfügen von Zeilen mit INSERT...SELECT. Die direkte Aktualisierung einer Tabelle mit einer SELECT -Anweisung in der Art und Weise, wie man zunächst versuchen könnte (z. B. UPDATE Table SET col1, col2 SELECT col1, col2...), ist jedoch ungültig. Der korrekte Ansatz besteht darin, Unterabfragen oder Verbindungen zu verwenden.

Nehmen wir an, Sie müssen eine Tabelle mit Werten aus einer temporären Tabelle aktualisieren. Ein falscher Versuch könnte so aussehen:

UPDATE Table SET col1, col2
SELECT col1, col2 
FROM other_table 
WHERE sql = 'cool'
WHERE Table.id = other_table.id
Nach dem Login kopieren

richtige Methoden:

1. Unterabfrageansatz:

Diese Methode verwendet Unterabfragen, um die Aktualisierungswerte zu holen:

UPDATE Table 
SET col1 = (SELECT col1 FROM other_table WHERE sql = 'cool' AND Table.id = other_table.id),
    col2 = (SELECT col2 FROM other_table WHERE sql = 'cool' AND Table.id = other_table.id)
WHERE EXISTS (SELECT 1 FROM other_table WHERE sql = 'cool' AND Table.id = other_table.id)
Nach dem Login kopieren

Die EXISTS -Klausel stellt sicher, dass Aktualisierungen nur für Zeilen mit passenden Einträgen in other_table.

2. Join-basierter Ansatz:

Dieser Ansatz nutzt a

für effizientere Aktualisierungen: JOIN

UPDATE Table_A
SET Table_A.col1 = Table_B.col1,
    Table_A.col2 = Table_B.col2
FROM Some_Table AS Table_A
INNER JOIN Other_Table AS Table_B ON Table_A.id = Table_B.id
WHERE Table_A.col3 = 'cool'
Nach dem Login kopieren
Dieses

entspricht Zeilen in JOIN und Table_A basierend auf der Spalte Table_B, wobei nur Aktualisierungen angewendet werden, wobei id gleich 'cool'. Table_A.col3 Beide Unterabfragen und Joins bieten effektive Möglichkeiten zum Aktualisieren von SQL -Servertabellen mithilfe von Daten, die aus

Anweisungen abgeleitet wurden, wodurch die Flexibilität und Leistung von Daten Manipulation verbessert wird.

Das obige ist der detaillierte Inhalt vonWie kann ich eine SQL Server-Tabelle mithilfe von Werten aus einer SELECT-Anweisung aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage