sql >> Database teknologi >  >> RDS >> Oracle

Hvordan man beregner summen af ​​flere kolonner i Oracle

THEN klausuler i CASE udtryk er forkert:

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 har ikke en boolsk datatype i SELECT forespørgsler.

Jeg gætter på, at du blot ønsker:

(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

Eller hvis du vil fjerne CASE :

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



  1. 3 ting at vide om databaser

  2. Sådan bruges Regexp i MySQL Replace-kommandoer?

  3. Hvordan opretter man tabel ved hjælp af udvælgelsesforespørgsel i SQL Server?

  4. Regex for at finde ud af, om et tal er inden for et interval, f.eks. 1,3,10-15,17