代码之家  ›  专栏  ›  技术社区  ›  gwydion93

SQL中的IF ELSE条件[closed]

  •  0
  • gwydion93  · 技术社区  · 7 年前

    我正在尝试编写一个简单的SQL查询,它根据第三列的值选择一列或另一列。

    假设我在表中有3列 T_Ticket
    Tier -介于1和4之间的数字, Zone_T1 Zone_T234 -“G”到“M”的nvarchar(5)。

    我要选择 首先,然后,取决于 (1或2、3、4)选择 T1区 如果 是1,并且 如果是2、3或4:

    SELECT
       Tier,
       CASE
           WHEN Tier = 1
               THEN Zone_T1
           ELSE
               Zone_T234
    FROM T_Ticket
    END
    

    我做错什么了?我有一个语法错误,但我不确定是什么错了。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Pawel Czapski    7 年前

    那就行了

    SELECT
        Tier,
        CASE WHEN Tier = 1 THEN Zone_T1
             WHEN Tier IN (2,3,4) THEN Zone_T234
             END AS ColumnName
    FROM T_Ticket