首页 > 解决方案 > 如何根据其他列的值更新列

问题描述

我有一个如下所示的表格

源客户 ID 有税收优惠 有抵押品 有贷款 精选产品
100021
100022 是的
100023 是的
100024 是的 是的
100025 是的
100026 是的 是的
100027 是的 是的
100028 是的 是的 是的

我如何实现这个输出?

源客户 ID 有税收优惠 有抵押品 有贷款 精选产品
100021
100022 是的 贷款
100023 是的 抵押品
100024 是的 是的 抵押品、贷款
100025 是的 税收优惠
100026 是的 是的 税收优惠,贷款
100027 是的 是的 税收优惠,抵押品
100028 是的 是的 是的 税收优惠,抵押品,贷款

标签: sqlsql-server

解决方案


您可以使用CONCAT_WS计算列(无需更新):

ALTER TABLE t ADD SelectedProduct AS
    CONCAT_WS(', ',
              IIF(HasTaxBenefit='Yes', 'TaxBenefit', NULL),
              IIF(HasCollateral='Yes', 'Collateral', NULL),
              IIF(HasLoan='Yes', 'Loan', NULL)
             );

db<>小提琴演示


推荐阅读