2015-06-03 95 views
-2

我有一個SQL表,我需要將數據從一個特定行復制到所有其他行。如何做到這一點?sql從一行到所有其他列的數據複製

ie:update TABLE將COLUMN =中的所有其他行設置爲ROW1 WHERE COLUMN2 = UNIQUE IDENTIFIER。我希望這是有道理的。表用戶

數據例如:

CODE  PASS   
Joe  Degree1 
Sue  Degree2 
Pat  Degree3 

基本上,我想借此數據從JOE列PASS並將其複製到所有其他用戶(SUE和PAT),所以當說和做,PASS應該等於所有三個用戶的「Degree1」。

+0

把樣品數據和你需要的輸出..這將有道理 – Sachu

+0

你可以給架構? – Dhwani

回答

0
DECLARE @updatevalue <yourcolumndatatype> 
SELECT @updatevalue = updatecolumn 
FROM yourtable 
WHERE uniquecolumn = uniqueidentifier 

UPDATE yourtable 
SET updatecolumn = @updatevalue 
WHERE uniquecolumn <> uniqueidentifier 
0
DECLARE @UNIQUEIDENTIFIER INT = 1 --For examnple type of UniqueColumn is INT 
UPDATE TableName SET 
ColumnToUpdate = (SELECT ColumnToUpdate WHERE UniqueColumn = @UNIQUEIDENTIFIER) 
WHERE UniqueColumn <> @UNIQUEIDENTIFIER 
+0

嗨法比奧,我收到這個錯誤:必須聲明標量變量。 – Justin

+0

您需要聲明一個變量(檢查更新後的答案)或用您的唯一標識符值替換'@ UNIQUEIDENTIFIER' – Fabio

0

TABLE_1

鍵specData

2空

3空

4空

查詢

UPDATE TABLE_1噸 SET t.specData =(SELECT specData FROM TABLE_1 WHERE鍵= 1) WHERE鍵<> 1;

希望它能幫助你!

相關問題