user12549929
user12549929

Reputation:

Missing keyword Oracle SQL

I have this SQL query and I am getting "MISSING KEYWORD" error.

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')

What is my mistake? I have been trying to debug this.

Upvotes: 0

Views: 84

Answers (2)

born_naked
born_naked

Reputation: 798

I’m not sure about your codeblock below

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

but maybe you got something gong on that I’m unaware of.

What I am sure about is that your case statements need an end. See below.

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')

Upvotes: 0

Nicola Lepetit
Nicola Lepetit

Reputation: 793

Adding an END inside the parenthesis should be enough:

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')

Upvotes: 2

Related Questions