By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE orders (
id integer,
order_comment varchar(30),
customer_id integer
);
CREATE TABLE customers (
id integer,
customer_name varchar(30)
);
INSERT INTO orders VALUES (1,null,1)
INSERT INTO orders VALUES (2,'Test',2)
INSERT INTO orders VALUES (3,'Bert;Test',3)
3 rows affected
INSERT INTO customers VALUES (1,'Frank')
INSERT INTO customers VALUES (2,'Maria')
INSERT INTO customers VALUES (3,'Bert')
3 rows affected
SELECT * FROM orders;
id | order_comment | customer_id |
---|---|---|
1 | null | 1 |
2 | Test | 2 |
3 | Bert;Test | 3 |
SELECT * FROM customers;
id | customer_name |
---|---|
1 | Frank |
2 | Maria |
3 | Bert |
UPDATE o SET order_comment=CONCAT(c.customer_name,';',o.order_comment)
FROM
orders o
LEFT JOIN customers c ON c.id=o.customer_id
WHERE o.order_comment IS NULL OR o.order_comment NOT LIKE CONCAT(c.customer_name,'%');
2 rows affected
SELECT * FROM orders;
id | order_comment | customer_id |
---|---|---|
1 | Frank; | 1 |
2 | Maria;Test | 2 |
3 | Bert;Test | 3 |