首页 > 解决方案 > TSQL - 嵌套案例

问题描述

请问嵌套房屋的使用方式如下:

SELECT
      CASE  
             WHEN Col1 < 2 THEN  
                                         CASE Col2 
                                                WHEN 'X' THEN 10 
                                                ELSE 11 
                                         END
              WHEN Col1 = 2 THEN 2
              .....
             ELSE 0 
      END as Qty,
      ......,
 FROM ....

解释:如果 Col1 <2 显示一些东西,但是如果 X 给我值 10 否则 11 如果 Col1 = 2 显示 2 否则 0 列名中的所有内容

推理是否正确?

提前致谢

标签: tsqlcase

解决方案


它应该返回你所说的你需要的东西,但这样更容易阅读:

SELECT
    CASE
        WHEN Col1 < 2 AND Col2 = 'X' THEN 10
        WHEN Col1 < 2 THEN 11
        WHEN Col1 = 2 THEN 2
              --.....
             ELSE 0 
      END AS Qty
FROM
    -- ...

推荐阅读