SQL基于数据创建新列

时间:2016-06-09 14:26:10

标签: sql

所以,我是Crystal Report的人,我真的很好奇我将如何在SQL中执行此操作。我一直在搜索stackoverflow和在线,但没有找到任何可能适用的明确答案(我可能只是非常慢......)

这似乎是一个非常简单的问题。

基本上,我正在尝试创建一个名为“Vital Status”的属性,该属性是二元的,因为该人活着或死了。

为此,我想进入我们的“活动状态”属性,其中包含:

Activity Status: Active main hospital, Active regional hospital, Active consult, Expired

在Crystal公式字段下创建一个名为“Vital Status”的新属性,基本上说:

If: Activity Status = "Active main hospital" or "Active regional hospital" or "Active consult"
    Then: Vital Status = "Alive"
If: Activity Status = "Expired"
    Then: Vital Status = "Dead"

老实说我不知道​​如何在SQL中这样做,如果我想在查询中包含它:

  SELECT Patient_Name, Disease_status, Date_of_birth, Vital Status
  FROM Patient_Info_table
  WHERE Disease_status =  "diabetes"

1 个答案:

答案 0 :(得分:1)

这是一个非常简单的问题,大多数数据库的答案都是一样的。

SELECT Patient_Name, Disease_status, Date_of_birth, Vital Status,
case when [Activity Status] in ('Active main hospital', 'Active regional hospital', 'Active consult' Then 'Alive'
else 'Dead' end [Vital Status]
  FROM Patient_Info_table
  WHERE Disease_status =  "diabetes"