来自多个列的多个条件

时间:2019-07-11 09:07:15

标签: sql sql-server case

我有一个关于牛的数据库,当它们满足3个标准时,它们被视为“ Prime”,我想添加一列,指出在符合以下3个标准后,该动物是否为主要动物:

  • ColdWeight >= 100
  • MonthsAtSlaughter <=30
  • AnimalTypeCode in ('A','C','E')

我查看了“ if”(我确实是基于Excel的,并且是SQL的新手),发现我应该使用Case,我以前只使用过一次,但仅用于一个条件,这是多个条件,条件在条件内处于不同级别

case when ColdWeight >= 100
    and MonthsAtSlaughter <=30
    and AnimalTypeCode in ('A','C','E')
        then '1'
        else '0' As Prime

我遇到以下错误,

  

消息156,级别15,状态1,行19关键字附近的语法不正确   “案例”。

1 个答案:

答案 0 :(得分:0)

您需要完整的查询和end

select (case when ColdWeight >= 100 and
                  MonthsAtSlaughter <= 30 and
                  AnimalTypeCode in ('A', 'C', 'E')
             then '1'
             else '0'
        end) As Prime
from t;