MySQL - UPDATE query based on SELECT Query
You can actually do this one of two ways:
MySQL update join syntax:
UPDATE tableA aINNER JOIN tableB b ON a.name_a = b.name_bSET validation_check = if(start_dts > end_dts, 'VALID', '')-- where clause can go here
ANSI SQL syntax:
UPDATE tableA SET validation_check = (SELECT if(start_DTS > end_DTS, 'VALID', '') AS validation_check FROM tableA INNER JOIN tableB ON name_A = name_B WHERE id_A = tableA.id_A)
Pick whichever one seems most natural to you.
UPDATE `table1` AS `dest`, ( SELECT * FROM `table2` WHERE `id` = x ) AS `src`SET `dest`.`col1` = `src`.`col1`WHERE `dest`.`id` = x;
Hope this works for you.
Easy in MySQL:
UPDATE users AS U1, users AS U2 SET U1.name_one = U2.name_colXWHERE U2.user_id = U1.user_id