缺少关键字Oracle SQL

问题描述 投票:0回答:2

我有这个SQL查询,但收到“ MISSING KEYWORD”错误。

SELECT SUM(CASE WHEN DUECD = 'PRI' THEN DUEAMT ELSE '0') AS LATESTPRIN, SUM(CASE WHEN DUECD != 'PRI' THEN DUEAMT ELSE '0') AS LATESTINT FROM LLDUEDET WHERE STARTDT = TO_DATE('2020-01-20', 'YYYY-MM-DD')

我的错是什么?我一直在尝试调试它。

sql oracle oracle9i
2个回答
1
投票

在括号内添加一个END就足够了:

SELECT
  SUM(CASE WHEN DUECD = 'PRI' THEN DUEAMT ELSE '0' END) AS LATESTPRIN,
  SUM(CASE WHEN DUECD != 'PRI' THEN DUEAMT ELSE '0' END) AS LATESTINT
FROM
  LLDUEDET
WHERE
  STARTDT = TO_DATE('". $LatestDate ."', 'YYYY-MM-DD')

0
投票

我不确定下面的代码块

TO_DATE(**’”.$LatestDate.”’**

但是您可能会听到一些我不知道的东西。

我可以确定的是,您的案例陈述需要结束。见下文。

SELECT 
SUM(
    CASE WHEN DUECD = 'PRI' 
        THEN DUEAMT 
        ELSE '0' 
    END) 
AS LATESTPRIN, 
SUM(
    CASE WHEN DUECD != 'PRI' 
        THEN DUEAMT 
        ELSE '0'
    END) 
AS LATESTINT FROM LLDUEDET 

WHERE STARTDT = TO_DATE('". $LatestDate ."', 'YYYY-MM-DD')
© www.soinside.com 2019 - 2024. All rights reserved.