--更新 UPDATE wp_order_detail SET layout_type = ( SELECT CASE WHEN CHAR_LENGTH (cs.size_code) >= 6 THEN SUBSTRING (cs.size_code FROM 1 FOR 3) ELSE '' END FROM wp_catalog_size cs WHERE cs.size_code LIKE '%' || wp_order_detail.size_code LIMIT 1 ); --查询 SELECT detail.ID, detail.size_code, ( SELECT cs.size_code FROM wp_catalog_size cs WHERE cs.size_code LIKE '%' || detail.size_code LIMIT 1 ) AS size_code_2, detail.layout_type FROM wp_order_detail detail;
大体意思就是用wp_order_detail表的size_code模糊匹配wp_catalog_size表的size_code。
匹配到后,判断是否大于等于6位,如果时6位,截取前3位,赋值给layout_type,否则直接赋空值。