sql实现表字段更新


生成sql语句

SELECT
	CONCAT( "UPDATE u_goods_support SET product_type='", product_type, "' WHERE prod_id='", prod_id, "';" ) 
FROM
	u_goods_support
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