创建计算列的多个条件

时间:2012-11-27 23:55:15

标签: sql sas

我想在SAS企业指南中创建一个计算列,如果满足特定条件,它将显示汽车项目。有挡风玻璃,轮胎,方向盘等75个汽车项目(T.TS_Items)。每个项目都有一个唯一的ID(T.TS_NUM),所以T.TS_NUM = 1到T.TS_NUM = 75。然后我想给每个新车项目一个标签,例如labelNo_01到labelNo_75。 因此,如果车辆类型是本田(T.TS_F_NUM = 2),则类型为日语(T.TS_TYPE = I)和T.TS_NUM = 1,则新列名称为LabelName_01,其中包含挡风玻璃等项目。 如果车型是丰田(T.TS_F_NUM = 1),但其余部分相同,它会给我75辆丰田车。

上述内容非常简单且有效,但如果车辆类型为丰田(T.TS_F_NUM = 1),我不知道如何添加Else声明

循环也有帮助,所以我不必为每种车型重复这个过程。希望这些信息有所帮助。

1 个答案:

答案 0 :(得分:2)

我想你想要:

Select TS_TYPE from (
    SELECT T.TS_TYPE,
    CASE T._vehicle_type = 'honda' THEN 2
       ELSE 1 
    as TS_F_NUM_Val,
    CASE TSI.TSI_DESC = 'damaged' THEN 'Not Allocated'
      ELSE TSI.TSI_DESC 
    as TSI_DESC_Val
    WHERE T.TS_TYPE = I
    AND TS_F_NUM_val=T.TS_F_NUM
    AND TSI_DESC _val=TSI.TSI_DESC 
)

这样你就可以得到你需要的列,并且可以有条件。