更新另一个表中的多行

时间:2019-02-12 02:38:21

标签: mysql sql

我需要更新表A,但结果来自表B。 以下是我的表格结果

表A 年初至今的基金代码 ABC 123.456

表B 年初至今的基金代码 ABC.UU 234.777

备注: 表B中的FundCode需要删除点后的字符。

 UPDATE table A  
        SET YTD =t2.YTD
        from  table B t2
            WHERE t2.FundCode = t1.FundCode 

我不知道如何只在前面加上子串

我需要的结果是 表A 年初至今的基金代码 ABC 234.777

1 个答案:

答案 0 :(得分:1)

您可以在join语句中使用update

UPDATE a
JOIN b ON SUBSTRING_INDEX(SUBSTRING_INDEX(b.FundCode, '.', 1), '.', -1) = a.FundCode
SET a.YTD=b.YTD;