【问题标题】:SQL CASE STATEMENT - MISSING OPERATOR ERRORSQL CASE 语句 - 缺少操作员错误
【发布时间】:2013-03-19 05:54:33
【问题描述】:

我是 SQL 新手,正在使用 Access 2013。我正在尝试构建一个 CASE 语句,该语句查看列中的值并将类别编号分配给列中的每条记录。当我尝试运行我的代码时,我不断收到“缺少操作员”的消息。我在下面列出了我的代码并感谢任何帮助。谢谢

SELECT P.REGISTRATION_NUMBER, P.DATA_INDICATOR, D.TERRITORY_ID, P.PRODUCT_NAME, P.JAN_13_TRX, P.DEC_12_TRX, P.NOV_12_TRX, P.OCT_12_TRX, P.SEPT_12_TRX, P.AUG_12_TRX, P.JULY_12_TRX, P.JUNE_12_TRX, P.MAY_12_TRX, P.APR_12_TRX, P.MAR_12_TRX, P.FEB_12_TRX, (P.JAN_13_TRX+P.DEC_12_TRX+P.NOV_12_TRX+P.OCT_12_TRX+P.SEPT_12_TRX+P.AUG_12_TRX+P.JULY_12_TRX+P.JUNE_12_TRX+P.MAY_12_TRX+P.APR_12_TRX+P.MAR_12_TRX+P.FEB_12_TRX) AS ROLLING_12 INTO ESTROGEL_WITH_ROLLING_12
FROM Ascend_presc_data AS P INNER JOIN Ascend_demo AS D ON P.REGISTRATION_NUMBER = D.REGISTRATION_NUMBER
WHERE (((P.DATA_INDICATOR)=1) AND ((P.PRODUCT_NAME)='ESTROGEL'))
(CASE 
WHEN P.ROLLING_12 > 199 THEN 10
WHEN P.ROLLING_12 > 99 THEN 9
WHEN P.ROLLING_12 > 49 THEN 8
WHEN P.ROLLING_12 > 19 THEN 7
WHEN P.ROLLING_12 > 9 THEN 6
WHEN P.ROLLING_12 > 4 THEN 5
WHEN P.ROLLING_12 = 4 THEN 4
WHEN P.ROLLING_12 = 3 THEN 3
WHEN P.ROLLING_12 = 2 THEN 2
WHEN P.ROLLING_12 = 1 THEN 1
ELSE 0
END) AS CATEGORY;

【问题讨论】:

    标签: sql ms-access operator-keyword ms-access-2013


    【解决方案1】:

    CASE 在 MS Access 中不可用,请查看 Switch、IIF 或更好的值,这是一个可以连接或比较的要匹配值的查找表。

    开关:http://www.techonthenet.com/access/functions/advanced/switch.php

    【讨论】:

    • 哇,我不知道。非常感谢您提供此信息和有用的链接。
    【解决方案2】:
       SELECT 
          P.REGISTRATION_NUMBER, 
          ...
       FROM 
          Ascend_presc_data AS P 
          ...
       WHERE (((P.DATA_INDICATOR)=1) AND ((P.PRODUCT_NAME)='ESTROGEL'))
          AND <<MISSING STATEMENT>> =
            (SWITCH
            P.ROLLING_12 > 199,10
            P.ROLLING_12 > 99, 9
            P.ROLLING_12 > 49, 8
            P.ROLLING_12 > 19, 7
            P.ROLLING_12 > 9, 6
            P.ROLLING_12 > 4, 5
            P.ROLLING_12 = 4, 4
            P.ROLLING_12 = 3, 3
            P.ROLLING_12 = 2, 2
            P.ROLLING_12 = 1, 1
            END));
    

    【讨论】:

      猜你喜欢
      • 2023-03-20
      • 2015-04-17
      • 1970-01-01
      • 2020-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多