Как составить запрос так, чтобы можно было проапдейтить записи (1, 3, N'1 Дмитрий', 0) и (2, 3, N'2 Сергей', 0) по GroupID мы определяем две записи, одна из которых будет получать значение Number из другой. Если у записи TypeID = 1, то значит из этой записи нужно брать значение и присвоить его записи, у которой совпадает GroupID и TypeID = 3.
То есть в итоге будет
(1, 1, N'1 Владимир',
10),
(1, 3, N'1 Дмитрий',
10), и
(2, 1, N'2 Андрей',
20),
(2, 3, N'2 Сергей',
20).
IF OBJECT_ID('Users') IS NOT NULL
DROP TABLE Users;
CREATE TABLE Users(
GroupID INT NOT NULL,
TypeID INT NOT NULL,
Name NVARCHAR(40) NOT NULL,
Number INT NOT NULL,
CONSTRAINT PK_Users_UserID PRIMARY KEY(GroupID, TypeID),
);
GO
INSERT INTO Users (GroupID, TypeID, Name, Number)
VALUES
(1, 1, N'1 Владимир', 10),
(1, 3, N'1 Дмитрий', 0),
(2, 1, N'2 Андрей', 20),
(2, 3, N'2 Сергей', 0)
GO