Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

từ khóa FROM không được tìm thấy ở vùng tìm kiếm

Mã bạn đã đăng không có from nhưng bạn đã nói rằng bạn chưa bao gồm nó. Tuy nhiên, nó có where mệnh đề - sai chỗ. Nó cũng so sánh một ngày với một chuỗi, điều này không phải là một ý tưởng hay vì nó dựa trên cài đặt NLS chuyển đổi ngầm và phiên. (Có lẽ bạn nghĩ rằng nó có thể so sánh chuỗi cố định với ngày bạn vừa chuyển đổi thành chuỗi - nhưng không phải vậy, ít nhất là trong cùng một cấp độ truy vấn, và dù sao thì cũng không hiệu quả trong trường hợp này.) Và như bạn đang sử dụng hàm tổng hợp, bạn cần một mệnh đề theo nhóm ...

Có vẻ như bạn muốn:

SELECT REPLACE(CM_NAME, '/', ' ') as CM_NAME,  
   TO_CHAR(Booking_Date,'MM/DD/YYYY') AS Booking_Date,
   sum(Air_Revenue) as TTL_AIRFARE,
   sum(Room_Revenue) as TTL_ROOM,
   sum(Car_Revenue) AS TTL_CAR,
   sum(Activity_Revenue) as TTL_ACTIVITY,
   0 as TTL_CRUISE
FROM your_table
WHERE Booking_Date = DATE '2018-03-20'
GROUP BY REPLACE(CM_NAME, '/', ' '),
   Booking_Date

hoặc nếu bạn muốn ngày hôm qua mà không cần phải chỉ định, bạn có thể sử dụng:

WHERE Booking_Date = TRUNC(sysdate - 1)
GROUP BY REPLACE(CM_NAME, '/', ' '),
   Booking_Date

Điều đó sẽ chỉ khớp với các hàng có Booking_Date là vào đúng nửa đêm. Nếu nó thực sự bao gồm những thời điểm khác thì bạn có thể làm:

WHERE Booking_Date >= TRUNC(sysdate - 1)
AND Booking_Date < TRUNC(sysdate)
GROUP BY REPLACE(CM_NAME, '/', ' '),
   TO_CHAR(Booking_Date,'MM/DD/YYYY')

sẽ bao gồm một ngày dữ liệu duy nhất.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle.DataAccess.Client.OracleException ORA-03135:kết nối bị mất liên lạc

  2. Toán tử tham gia Oracle

  3. Oracle:Sự khác biệt giữa các kết nối không gộp chung và DRCP

  4. Lỗi cú pháp khi cố gắng chèn nhiều hàng trong SQL?

  5. công cụ nhà phát triển oracle sql - không có dữ liệu sau khi cam kết