Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да изчислим сумата на няколко колони в Oracle

THEN клаузи в CASE изразът е неправилен:

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 няма булев тип данни в SELECT заявки.

Предполагам, че просто искате:

(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

Или, ако искате да премахнете 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. Как мога да добавя/свържа BLOB данни към BLOB колона с помощта на командата SQL UPDATE в ORACLE

  2. Късо съединение на Oracle CASE не работи в група от

  3. Идентифицирайте телефонни номера в PL/SQL итерация

  4. ORA-00604 ORA-12705

  5. Как мога да получа уникалните знаци от низ в Oracle?