By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE dbo.suppliers (
Name VARCHAR(MAX),
CompanyID INT
);
INSERT INTO
dbo.suppliers
VALUES
('A', 5),
('B', 5),
('C', 5),
('A', 5)
4 rows affected
WITH
uniquely_identified AS
(
SELECT
ROW_NUMBER() OVER (PARTITION BY name ORDER BY companyID) AS name_row_id,
*
FROM
[dbo].[Suppliers]
)
UPDATE
uniquely_identified
SET
CompanyId = 46
WHERE
name_row_id = 1
;
3 rows affected
SELECT * FROM dbo.suppliers
Name | CompanyID |
---|---|
A | 46 |
B | 46 |
C | 46 |
A | 5 |