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

Cách tính tổng của nhiều cột trong Oracle

THEN mệnh đề trong CASE biểu thức không chính xác:

CASE WHEN SUM(L55.TOTAL_QUANTITY - BC.FULLBOX * L55.PACKING_STYLE) = 0  
     THEN L55.SPAREBOX = 0
----------^
     WHEN SUM(L55.TOTAL_QUANTITY - BC.FULLBOX * L55.PACKING_STYLE) != 0 
     THEN L55.SPAREBOX = 1
END AS SPARE_QUANTITY

Oracle không có kiểu dữ liệu Boolean trong SELECT truy vấn.

Tôi đoán rằng bạn chỉ muốn:

(CASE WHEN SUM(L55.TOTAL_QUANTITY - BC.FULLBOX * L55.PACKING_STYLE) = 0  
      THEN 0
      WHEN SUM(L55.TOTAL_QUANTITY - BC.FULLBOX * L55.PACKING_STYLE) <> 0 
      THEN 1
 END) AS SPARE_QUANTITY

Hoặc, nếu bạn muốn loại bỏ CASE :

ABS(SIGN(SUM(L55.TOTAL_QUANTITY - BC.FULLBOX * L55.PACKING_STYLE))) AS SPARE_QUANTITY



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách lấy nhiều hàng từ một hàm được lưu trữ bằng oracle

  2. Cách cài đặt máy khách SQL * PLUS trong Linux

  3. Hàm JPQL LOWER trong biểu thức IN

  4. Làm thế nào để đọc một cột CLOB trong Oracle bằng OleDb?

  5. SQLException:Vi phạm giao thức. Vấn đề về trình điều khiển JDBC của Oracle