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

时间:2018-01-01 07:05:14

标签: sql sql-server calculated-columns

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

enter image description here

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

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

ALTER TABLE Wealth_CFY ADD Type3 AS (Type1 + ' ' + Type2)

2 个答案:

答案 0 :(得分: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 :(得分:1)

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