Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak obliczyć sumę wielu kolumn w Oracle

THEN klauzule w CASE wyrażenie jest nieprawidłowe:

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 nie ma typu danych logicznych w SELECT zapytania.

Domyślam się, że po prostu chcesz:

(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

Lub, jeśli chcesz wyeliminować 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. Oracle — Zmodyfikuj istniejącą tabelę, aby automatycznie zwiększać kolumnę

  2. Warunkowo zdefiniuj kursor

  3. jak wywołać jeden przechowywany proc z pylnika i zmodyfikować zwracany refcursor?

  4. Wybór podrzędny w Oracle

  5. Podczas wykonywania skryptu w SQLPlus, zamiast wyniku wypisuje sekwencję liczb