2017-10-12 26 views
0

嗨我想要複製同一個表中的行並同時修改它們。用不同的文本替換文本的出現。下面的這個在「tblGroups.GroupCode」和「PKRowID」下面的窗口中被強調爲invaild列名。MSSQL從同一個表中複製數據修改部分行中的文本

USE [Database]; 
GO 
INSERT INTO [dbo].[tblGroups] 
     SELECT GroupCode = REPLACE([tblGroups.GroupCode], 'ABC', 'XYZ') 
     WHERE PKRowID BETWEEN 777 AND 999; 
GO 

回答

1

如果你想插入新行,那麼你需要一個FROM條款:

INSERT INTO [dbo].[tblGroups](GroupCode, . . .) 
    SELECT GroupCode = REPLACE([tblGroups.GroupCode], 'ABC', 'XYZ'), 
      . . . 
    FROM [dbo].[tblGroups] g 
    WHERE PKRowID BETWEEN 777 AND 999; 

請注意,您可能需要包括其他列 - 但我不知道該表真的是什麼好像。

如果你只是想改變的地方現有行,然後使用UPDATE

UPDATE [dbo].[tblGroups] 
    SET GroupCode = REPLACE([tblGroups.GroupCode], 'ABC', 'XYZ') 
    WHERE PKRowID BETWEEN 777 AND 999; 
0
USE [Database]; 
GO 
INSERT INTO [dbo].[tblGroups](GroupCode) 
     SELECT REPLACE(GroupCode, 'ABC', 'XYZ') 
     FROM tblGroups 
     WHERE PKRowID BETWEEN 777 AND 999; 
相關問題