【问题标题】:Msg 102, Level 15, State 1, Line 3 Incorrect syntax near '='消息 102,级别 15,状态 1,第 3 行 '=' 附近的语法不正确
【发布时间】:2014-03-01 08:21:29
【问题描述】:

我想从 ReceiveNote 中选择 if fromloc = 1 然后打印 Factory 否则必须打印 Other

SELECT PurDate,
case ReceiveNote.FromLOC
when ReceiveNote.FromLOC = '1' THEN 'Factory'
when ReceiveNote.FromLOC = '2' THEN 'Other'
else ''
end as FromLOC FROM tbl1

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    您已经在CASE 字之后指定了字段。无需再次指定。

    SELECT PurDate,
           CASE ReceiveNote.FromLOC
                WHEN '1' THEN 'Factory'
                WHEN '2' THEN 'Other'
                ELSE ''
           END AS FromLOC 
      FROM tbl1
    

    还有here is documentation on CASE for tsql

    【讨论】:

      【解决方案2】:
      SELECT PurDate,
      case when ReceiveNote.FromLOC = '1' THEN 'Factory'
      when ReceiveNote.FromLOC = '2' THEN 'Other'
      else ''
      end as FromLOC FROM tbl1
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-28
        • 2019-12-02
        • 1970-01-01
        相关资源
        最近更新 更多