SQL查询在条件表中添加新列的新列

问题描述 投票:1回答:2

我想添加新列,条件是如果第1列的值是diff。那么第二列只有它会随条件改变,否则值保持不变。

enter image description here

上图将更有效地阐明我的要求。

以下查询仅更改列,但请指导如何应用条件。

ALTER TABLE Wealth_CFY ADD Type3 AS (Type1 + ' ' + Type2)
sql sql-server calculated-columns
2个回答
2
投票

在连接之前使用case语句检查值是否相同。

ALTER TABLE Wealth_CFY
  ADD Type3 AS (CASE WHEN COALESCE(Type1, '') <> COALESCE(Type2, '') THEN Type1 + ' ' + Type2 ELSE Type1 END) PERSISTED

COALESCE用于处理NULL值。如果Type1Type2都不接受NULL值,那么删除COALESCE函数


1
投票
 ALTER TABLE Wealth_CFY
  ADD Type3 AS (CASE WHEN COALESCE(Type1, '') <> COALESCE(Type2, '') THEN 
   Type1 + ' ' + Type2 ELSE Type1 END) PERSISTED
© www.soinside.com 2019 - 2024. All rights reserved.