Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Cara menghitung jumlah multi kolom di Oracle

THEN klausa dalam CASE ekspresi salah:

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 tidak memiliki tipe data Boolean di SELECT kueri.

Saya kira Anda hanya ingin:

(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

Atau, jika Anda ingin menghilangkan 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. Bagaimana Cara Menggunakan Tabel Sementara Global dalam Prosedur Oracle?

  2. Apakah penggunaan klausa RETURNING INTO lebih cepat daripada pernyataan SELECT yang terpisah?

  3. HQL adalah null Dan !=null pada kolom Oracle

  4. Hapus karakter terakhir dari string di sql plus

  5. Tidak ada STOPKEY per partisi dalam paket Oracle untuk paging dengan indeks lokal