我有一个带有列的SQL表,我需要将数据从一个特定行复制到所有其他行。怎么办呢?
ie:update TABLE set COLUMN = ALL ROWS = ROW1 WHERE COLUMN2 = UNIQUE IDENTIFIER。我希望这是有道理的。
表USER的数据示例:
CODE PASS
Joe Degree1
Sue Degree2
Pat Degree3
基本上,我想从JOE中获取PASS列中的数据并将其复制到所有其他用户(SUE和PAT),所以当完成后,PASS应该等于" Degree1"对于所有三个用户。
答案 0 :(得分:0)
DECLARE @UNIQUEIDENTIFIER INT = 1 --For examnple type of UniqueColumn is INT
UPDATE TableName SET
ColumnToUpdate = (SELECT ColumnToUpdate WHERE UniqueColumn = @UNIQUEIDENTIFIER)
WHERE UniqueColumn <> @UNIQUEIDENTIFIER
答案 1 :(得分:0)
DECLARE @updatevalue <yourcolumndatatype>
SELECT @updatevalue = updatecolumn
FROM yourtable
WHERE uniquecolumn = uniqueidentifier
UPDATE yourtable
SET updatecolumn = @updatevalue
WHERE uniquecolumn <> uniqueidentifier
答案 2 :(得分:0)
<强> TABLE_1 强>
key specData
1 a
2 null
3 null
4 null
<强>查询强>
UPDATE Table_1 t
SET t.specData= (SELECT specData FROM Table_1 WHERE key = 1)
WHERE key <> 1;
希望对你有所帮助!