2016-06-21 9 views
1

ich versuche, eine Tabelle zu aktualisieren, die eine kürzere Version meiner ursprünglichen Tabelle ist. Was ich habe, ist folgendes:So aktualisieren Sie eine Ergebnistabelle aus einer Abfrage

UPDATE (SELECT * FROM bookings_tbl 
where ACCOUNT LIKE 'RENTA%' AND PART_TYPE ='HARDWARE') 
SET PART_TYPE= 'EQUIPO' WHERE PART_TYPE='HARDWARE'; 

weiß nicht, ob es möglich, s, aber ich möchte haben, was als Hardware in der kleinen Tabelle angegebenen sagt EQUIPO. Ich verwende Micros SQL Server Mgmt Studio

+0

setzen hier Ihre Tabellenschema. –

+0

'SELECT ACCOUNT, 'EQUIPO' als PART_TYPE VON bookings_tbl WO ACCOUNT WIE 'RENTA%' UND PART_TYPE = 'HARDWARE'' –

Antwort

1

Sie haben das update Konstrukt falsch. Ändern Sie ihn auf ..

UPDATE bookings_tbl 
SET PART_TYPE= 'EQUIPO' 
WHERE PART_TYPE='HARDWARE' AND ACCOUNT LIKE 'RENTA%'; 
+0

aber ich möchte nicht die ursprüngliche Tabelle, nur die aus der Abfrage –

+0

resultierenden das ist, was die Wo ist die Klausel? Dadurch werden Zeilen aktualisiert, die 'PART_TYPE = 'HARDWARE' und Konto wie 'RENTA%'' zu 'PART_TYPE = 'EQUIPO'' haben. –

+0

Bitte aktualisieren Sie den Beitrag, um Ihre Absicht zu erwähnen, dass Sie nicht beabsichtigen, die Basistabelle von SQL zu aktualisieren Server aber tatsächlich beabsichtigen, mit einem In-Memory-Konstrukt zu spielen – RBT

0

Verwenden @table Variable in SQL Server. Definieren Sie zuerst das Schema der Tabellenvariablen. Wählen Sie dann alle Datensätze aus, die Sie aktualisieren möchten, und fügen Sie sie in die Variable @table ein. Setzen Sie dann Ihre WHERE-Bedingung, um die Tabellenvariable gemäß Ihrer WHERE-Klausel zu aktualisieren.

UPDATE @myTableVariable SET PART_TYPE= 'EQUIPO' WHERE PART_TYPE='HARDWARE' AND ACCOUNT LIKE 'RENTA%';

Verwandte Themen