Solved

SQL calculate a percentage

Posted on 2013-01-22
4
253 Views
Last Modified: 2013-01-22
In this query I'm trying to do a percent calcuation but for some reason anything less than 100% is not being calculated.

SELECT #tmp_ALLORDERS_COUNTS.TOTAL_ORDERS_COUNT, CAST(((#tmp_IVPROTOCOL_COUNTS.IVPROTOCOL_ORDERS_COUNT/#tmp_ALLORDERS_COUNTS.TOTAL_ORDERS_COUNT)*100) as decimal(18,2)) AS PERCENTAGE_USE
	, #tmp_IVPROTOCOL_COUNTS.* FROM  #tmp_ALLORDERS_COUNTS, #tmp_IVPROTOCOL_COUNTS
	WHERE  #tmp_ALLORDERS_COUNTS.DRUG_CODE = #tmp_IVPROTOCOL_COUNTS.DRUG_CODE

Open in new window


results look like this:
percentagecalcsql
0
Comment
Question by:ghettocounselor
  • 2
  • 2
4 Comments
 
LVL 35

Accepted Solution

by:
johnsone earned 500 total points
ID: 38807482
It is most likely an issue of data types.  I would cast each individual variable:

CAST(CAST(#tmp_IVPROTOCOL_COUNTS.IVPROTOCOL_ORDERS_COUNT as decimal(18,2))/CAST(#tmp_ALLORDERS_COUNTS.TOTAL_ORDERS_COUNT as decimal(18,2))*100.0) as decimal(18,2))

It is doing integer math and then doing the cast.  You need to do the cast first.
0
 

Author Comment

by:ghettocounselor
ID: 38807963
Needed to wrap with a few more parens but idea was sound. THANKS!

(CAST(CAST(#tmp_IVPROTOCOL_COUNTS.IVPROTOCOL_ORDERS_COUNT as decimal(18,2))/(CAST(#tmp_ALLORDERS_COUNTS.TOTAL_ORDERS_COUNT as decimal (18,2))) as decimal (18,2))*100) AS PERCENTAGE_USE
0
 

Author Closing Comment

by:ghettocounselor
ID: 38807966
As always appreciate quick response!
0
 
LVL 35

Expert Comment

by:johnsone
ID: 38808056
Sorry about the missing parens.  I didn't try it.  It looked like they were all there.  But, you got the idea.
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
SQL Syntax 14 40
Need return values from a stored procedure 8 40
StoredProcedure to JSON query faulty syntax 2 22
SP result not being displayed 5 36
In database programming, custom sort order seems to be necessary quite often, at least in my experience and time here at EE. Within the realm of custom sorting is the sorting of numbers and text independently (i.e., treating the numbers as number…
If you find yourself in this situation “I have used SELECT DISTINCT but I’m getting duplicates” then I'm sorry to say you are using the wrong SQL technique as it only does one thing which is: produces whole rows that are unique. If the results you a…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

685 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question