0

我有一个表 PERSON ,其中有两列(当然我还有其他列,但这里我只需要两列)名为Ageand Person_Type。现在基于Age我必须Person_Type作为婴儿、儿童和成人做出的价值。

Age    Person_Type
0 to 3     Infant
4 to 12    Child
>=13    Adult

我在下面的计算列中尝试过,但它不起作用。任何想法怎么办?我很困惑。

(case when [Pax_Type_Id]=(3) OR [Pax_Type_Id]=(2) OR [Pax_Type_Id]=(1) OR [Pax_Type_Id]=(0) then 'Infant' when [Pax_Type_Id]=(12) OR [Pax_Type_Id]=(11) OR [Pax_Type_Id]=(10) OR [Pax_Type_Id]=(9) OR [Pax_Type_Id]=(8) OR [Pax_Type_Id]=(7) OR [Pax_Type_Id]=(6) OR [Pax_Type_Id]=(5) OR [Pax_Type_Id]=(4) then 'Child' when [Pax_Type_Id]>=(13) then 'Adult'  end)
4

2 回答 2

2

你可以试试这个:

选择年龄,如果年龄介于“1”和“3”之间,则选择“婴儿”
            当年龄在“4”和“12”之间,然后是“儿童”
            当年龄 >='13' 那么 'ADULT' ELSE '' END PERSON_TYPE
 从人

于 2013-06-05T05:23:02.530 回答
-1
SELECT CASE WHEN Age BETWEEN 0 AND 3 THEN 'Infant'
         WHEN Age BETWEEN 4 AND 12 THEN 'Child'
         WHEN Age >=13 THEN 'Adult'
       END AS Person_type
FROM PERSON
于 2013-06-05T05:35:21.800 回答