// 方法一: UPDATE 更新表 SET 字段 = ( SELECT 參考數據 FROM 參考表 WHERE 參考表.id = 更新表.id );
UPDATE table_2 m SET m.`COLUMN` = ( SELECT `COLUMN` FROM table_1 mp WHERE mp.id = m.id );
// 方法二:
UPDATE table_1 t1, table_2 t2 SET t1.`COLUMN` = t2.`COLUMN` WHERE t1.id = t2.pid;
生成sql語句
SELECT
CONCAT( "UPDATE u_goods_support SET product_type='", product_type, "' WHERE prod_id='", prod_id, "';" )
FROM
u_goods_support
SELECT
CONCAT( "UPDATE u_order_split SET distributor_name='", new_name, "', distributor_code='", new_code, "', match_status = 1 WHERE distributor_name='", old_name, "' AND order_type = 0 AND match_status = 2;" )
FROM
temp_distributor_name;
UPDATE u_order_split AS os
LEFT JOIN ( SELECT product_type, prod_id FROM u_goods_support ) AS gs ON gs.prod_id = os.prod_id
SET os.product_type = gs.product_type
UPDATE u_order_split AS os
LEFT JOIN (
SELECT
CASE
WHEN tdn.type = 1 THEN
0
WHEN tdn.type = 2 THEN
1
WHEN tdn.type = 3 THEN
3
END AS type,
tdno.new_name,
tdno.old_name
FROM
tour_distributor_new_old AS tdno
LEFT JOIN tour_distributor_new AS tdn ON tdn.`code` = tdno.new_code
) AS bb ON ( bb.new_name = os.distributor_name OR bb.old_name = os.distributor_name )
SET os.order_type = bb.type
WHERE
os.order_source = 1