Запись оператора CASE Ошибка ORA-00923

У меня есть база данных, которую я заполнил, используя операторы CREATE и INSERT INTO. Сейчас я пытаюсь написать состояние CASE, в котором будут отображаться "клиенты", чья payment_due_date прошла сегодня. Ниже приведен следующий код

СОЗДАТЬ ЗАЯВЛЕНИЕ "Орд" (Заказ)

CREATE TABLE Ord(OrderID varchar2(9) PRIMARY KEY, 
CustomerID varchar(9) REFERENCES Customer(CustomerID), 
Expected_Delivery_Date date DEFAULT sysdate NOT NULL, 
Actual_Delivery_Date date DEFAULT sysdate NOT NULL, 
Payment_Due_Date date DEFAULT sysdate NOT NULL,
 Order_Date date DEFAULT sysdate NOT NULL, Price Varchar(10), 
Order_Placed varchar2(1) CONSTRAINT OrderPlaced 
CHECK(Order_Placed IN('Y','N')) NOT NULL, Order_Confirmed varchar2(1)
CONSTRAINT Order_Confirmed CHECK(Order_Confirmed IN('Y','N')) 
NOT NULL, Order_Completed varchar2(1) CONSTRAINT Order_Completed
CHECK(Order_Completed IN('Y','N')) NOT NULL) 

ВСТАВИТЬ ЗАЯВЛЕНИЕ

 INSERT INTO Ord VALUES(401565981, 501623129, 
    '10-Dec-10', '11-Dec-10', '07-Dec-10', '03-Dec-10','£14.99', 'Y', 'Y', 'Y')

ЗАЯВЛЕНИЕ О СЛУЧАЕ

 SELECT OrderID, CustomerID, Payment_Due_Date CASE WHEN 
Payment_Due_Date = '08-Dec-10' THEN 'Send Final Demand Letter'
    ELSE 'Do not send letter' 
    END FROM Ord;

Когда я пытаюсь выполнить приведенный выше оператор case, я получаю следующую ошибку

ORA-00923: ключевое слово FROM не найдено там, где ожидается 00923. 00000 - "ключевое слово FROM не найдено там, где ожидается" * Причина:
* Действие: Ошибка в строке: 26 столбец: 50

Есть ли возможный способ обойти это?

1 ответ

Решение

Я думаю, что вам нужна запятая между Payment_Due_Date и CASE.

Другие вопросы по тегам