You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现BI到DP表字段更新?含ChainID与Chaincode映射规则

解决方案:基于映射规则更新DP表字段

根据需求,我们需要按照ChainID与Chaincode的映射规则,用BI表的BrandName和Description字段更新DP表的Brand和BrandDescription字段,以下是两种可行的实现方式:

方法一:使用UPDATE JOIN(适用于SQL Server、MySQL等)

这种方式通过JOIN条件直接匹配映射规则,语法简洁高效:

UPDATE dp
SET 
    dp.Brand = bi.BrandName,
    dp.BrandDescription = bi.Description
FROM DP dp
JOIN BI bi ON 
    (bi.ChainID = 1 AND dp.Chaincode IN ('FSC', 'PRC'))
    OR (bi.ChainID = 3 AND dp.Chaincode = 'EPRC');

执行上述语句后,查询DP表即可得到预期结果:

SELECT ChainCode, Brand, BrandDescription FROM DP;

方法二:使用子查询(通用兼容型)

如果数据库不支持UPDATE JOIN语法(如部分Oracle版本),可以采用子查询结合EXISTS过滤的方式:

UPDATE DP
SET 
    Brand = (
        SELECT BrandName 
        FROM BI 
        WHERE 
            (ChainID = 1 AND DP.Chaincode IN ('FSC', 'PRC'))
            OR (ChainID = 3 AND DP.Chaincode = 'EPRC')
    ),
    BrandDescription = (
        SELECT Description 
        FROM BI 
        WHERE 
            (ChainID = 1 AND DP.Chaincode IN ('FSC', 'PRC'))
            OR (ChainID = 3 AND DP.Chaincode = 'EPRC')
    )
WHERE EXISTS (
    SELECT 1 
    FROM BI 
    WHERE 
        (ChainID = 1 AND DP.Chaincode IN ('FSC', 'PRC'))
        OR (ChainID = 3 AND DP.Chaincode = 'EPRC')
);

该方式通过子查询获取对应更新值,同时用EXISTS确保只更新符合映射规则的记录。

内容的提问来源于stack exchange,提问作者Angel D'souza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 03:22:36