【问题标题】:Having an error missing keyword in my query我的查询中有一个错误缺少关键字
【发布时间】:2015-03-27 11:35:55
【问题描述】:
SELECT TXCM_CATEGORY_ID,
       TXCM_CATEGORY_NAME,
       TXCM_MAIN_CATEGORY_ID,
       TXCM_PRT_CATEGORY_ID,
       CASE
          WHEN TXCM_PRT_CATEGORY_ID = 3097 THEN TXCM_PRT_CATEGORY_ID = 0
          ELSE TXCM_PRT_CATEGORY_ID = 6
       END
  FROM TXODOC_CATEGORY_MASTER;

请帮助我...谢谢

【问题讨论】:

  • 我看不出这与 java 或 jsp 有什么关系。
  • 是的,将其重新标记为 sql 。仍然不确定数据库
  • CASE 中的作业是做什么用的?返回 0/6:CASE WHEN TXCM_PRT_CATEGORY_ID = 3097 THEN 0 ELSE 6 END AS TXCM_PRT_CATEGORY_ID
  • 你确定这是你得到的错误。
  • 是的....这是一个错误

标签: sql


【解决方案1】:

试试这样的:

SELECT TXCM_CATEGORY_ID,
       TXCM_CATEGORY_NAME,
       TXCM_MAIN_CATEGORY_ID,
       TXCM_PRT_CATEGORY_ID,
       CASE
          WHEN TXCM_PRT_CATEGORY_ID = 3097 THEN  0
          ELSE 6
       END AS TXCM_PRT_CATEGORY_ID
  FROM TXODOC_CATEGORY_MASTER;

【讨论】:

    【解决方案2】:

    恐怕你的 CASE 陈述有点混乱。

    correct syntax是这样的。

    简单的 CASE 表达式:

    CASE input_expression 
        WHEN when_expression THEN result_expression [ ...n ] 
        [ ELSE else_result_expression ] 
    END
    

    搜索到的 CASE 表达式:

    CASE
        WHEN Boolean_expression THEN result_expression [ ...n ] 
        [ ELSE else_result_expression ] 
    END
    

    如果我没记错你的意思,那么你可以使用搜索过的 CASE 表达式,像这样。

    SELECT
        TXCM_CATEGORY_ID,
        TXCM_CATEGORY_NAME,
        TXCM_MAIN_CATEGORY_ID,
        TXCM_PRT_CATEGORY_ID,
        CASE TXCM_PRT_CATEGORY_ID
            WHEN 3097 THEN 0
            ELSE 6
        END
    FROM TXODOC_CATEGORY_MASTER
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多