【发布时间】:2022-01-11 02:09:51
【问题描述】:
我正在使用 Oracle SQL Developer。对 SQL 来说真的很陌生,不知道为什么会出现这个错误。
错误:
ORA-00905: 缺少关键字
00905. 00000 - “缺少关键字”
*原因:
*行动:
行错误:1 列:128
SELECT r.ROOM_ID, w.HEAD_NURSE, w.WARD_NAME, p.LEAVING_DATE, count(CASE p.PATIENT_ID when to_date('2022-01-07', 'YYYY-MM-DD') < p.LEAVING_DATE then 1 else null END) AS No_Of_Patients_In_Room
FROM ROOM r, WARD w, PATIENT_DETAILS p
WHERE r.HEAD_NURSE = 'Some Nurses Name' AND w.WARD_NAME = 'Some Ward Name' AND p.ROOM_ID = r.ROOM_ID
group by r.ROOM_ID, w.HEAD_NURSE, w.WARD_NAME, p.LEAVING_DATE;
仅当 LEAVING_DATE 晚于指定日期时才应计算 PATIENT_ID。我可以删除 LEAVING_DATE 已经超过该日期的数据,但我仍然想知道是什么导致了这个错误。
【问题讨论】: