add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
Create Table table_name(contractID INT, customergroup VARCHAR(50), customerID INT);

Insert Into table_name Values(20135,'B2021',5521),
(20136,'B2021',NULL),
(20137,'B2022',NULL),
(20138,'B2022',5523),
(20139,'B2022',5523),
(20140,'B2023',NULL);
Records: 6  Duplicates: 0  Warnings: 0
SELECT contractID, customergroup,
CASE WHEN customerID IS NULL THEN
COALESCE((SELECT customerID FROM table_name D
WHERE D.customergroup = T.customergroup AND
D.customerID IS NOT NULL
LIMIT 1), '')
ELSE customerID
END AS customerID
FROM table_name T
ORDER BY contractID
contractID customergroup customerID
20135 B2021 5521
20136 B2021 5521
20137 B2022 5523
20138 B2022 5523
20139 B2022 5523
20140 B2023