我正在尝试创建一个显示其他列值的列。换句话说,一个列引用其他列并显示它们的值而不是定义或只是一个'是'或者'否'。例如,这是我到目前为止:
alter table [dbo].[Mortality2015]
add [Education] varchar(50) null
update [dbo].[Mortality2015]
set [Education] = case
when [education_reporting_flag] = 0
then [education_1989_revision]
when [education_reporting_flag] = 1
then [education_2003_revision]
when [education_reporting_flag] = 2
then null
end
我得到一个只有空值的新列。任何人都知道如何使这项工作?
答案 0 :(得分:0)
我不知道您的查询有什么问题。但是,您不必添加新的"真实"列到数据。您可以添加计算列。这看起来像:
alter table [dbo].[Mortality2015]
add Education as (case when [education_reporting_flag] = 0 then [education_1989_revision]
when [education_reporting_flag] = 1 then [education_2003_revision]
end);
当然,这与你的版本基本相同。有用的是Education
在使用时计算,因此它始终是最新的。